サブミッチングは、割り当てられたものを使用する代わりに、外国関係のための新しいレコードを挿入します
-
08-10-2019 - |
質問
以下に示すように、有効な関係を持つ次の表があります。
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
必要に応じて、いくつかの喜びを取り外して取り付けているかもしれませんが、おそらくそれだけの価値はありません。
所属していません StackOverflow