サブミッチングは、割り当てられたものを使用する代わりに、外国関係のための新しいレコードを挿入します

StackOverflow https://stackoverflow.com/questions/4359082

質問

以下に示すように、有効な関係を持つ次の表があります。

 Report
      ------>ReprotDataSource
                --------->SharePointDomain

さて、次のことを試してみると(新しくreprotDataSourceを選択したSharePointDomainにリンクします)、ID(2)でSharePointDomainに補給する代わりに、新しいSharePointDomainレコードを挿入します。

//Create new Object
ReportDataSource rprtDS = new ReportDataSource
{
  Name = rprtDSSelected.Name,
  Parent = rprtDSSelected.Parent,
  CreatedBy = Environment.UserName,
  CreationDate = DateTime.Now,
  Source = rprtDSSelected.Source,
  Type = rprtDSSelected.Type
};

  if (rprtDS.Type == "SP List")
  //here is the issue
  rprtDS.SharePointDomain = selectedSharePointDomain;//its id = 2
  //Add to EntitySet
  TheReport.ReportDataSources.Add(rprtDS);
  TheReport.Save();

IDを(2)に設定したときに正常に動作します

説明はありますか?

前もって感謝します。

役に立ちましたか?

解決

追加しているオブジェクトは、同じデータコンテキストから来る必要があります。それ以外の場合は、暗黙の挿入物としてカウントされます。このオブジェクトは他の場所から来たと思います。おそらく以前のデータコンテキスト。クエリ間でオブジェクトをキャッシュする場合、これは難しいです。代わりにIDを設定するだけかもしれません...:p

必要に応じて、いくつかの喜びを取り外して取り付けているかもしれませんが、おそらくそれだけの価値はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top