2010-12-05 17 views
0

代わりに使用の外国関係のために新しいレコードを挿入しますSharePointDomain)それは私が(2)でSubmitChangesは、以下に示すように、私は、有効な関係を持つ以下の表を持って割り当てられた1

にIDに私の自己を設定するときには、正常に動作します(2)

//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でSharePointDomainに代わりrefrenceの新しいSharePointDomainレコードinsertes

説明がありますか?

ありがとうございます。

答えて

1

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

必要に応じて喜んで取り外したり取り付けたりすることがありますが、おそらくそれは価値がありません。

+0

opsそれは別のdataContextを形成しました:)、idを設定するだけで十分です。私はその動作について興味がありました。ありがとうございました。 –

関連する問題