1

受信者とメーリングリストの間で多対多の関係を持つエンティティフレームワークを使用してデータベースモデルを作成しました。データベースを生成したとき、リンクテーブルへのアクセスは許可されませんでしたが、受信者のプロパティ-recipient.mailingListへのアクセスのみが許可されました。新しい受信者をデータベースに追加しようとして、新しい受信者を作成し、すべてのプロパティを正しく追加しました。チェックして動作しました。しかし、MailingList を Recipient に追加すると、「English translation: An entity object cannot be reference by multiple instances of IEntityChangeTracker.」というエラーが表示されました。以下のように MailingList を追加しました。

Recipient newRecipient = new Recipient();

// some added properties.

newRecipient.MailingList.Add(chosenMailingList);
context.Rcipients.AddObject(newRecipient);

エラーの前に、newRecipient に mailingLists が追加されていることがわかります。MailingList を割り当てようとする前に、プログラムは問題なく newRecipient を追加しました。受信者にメーリング リストを追加する方法を誰か教えてもらえますか?

4

1 に答える 1

1

誤って2つのコンテキストが同時に生きていると思います。新しい受信者を追加するのと同じコンテキスト インスタンスから selectedMailingList を取得する必要があります。

于 2012-11-10T10:20:39.873 に答える