「エンティティオブジェクトはIEntityChangeTrackerの複数のインスタンスから参照することはできません。

entity-framework

質問

Ado.Net EFにモデルがあります。 1対多の関係があり、エンティティを追加するときにエラーが発生します

"エンティティオブジェクトをIEntityChangeTrackerの複数のインスタンスから参照することはできません。"

どんな手掛かり?

似たようなもの

Template template = new Template();
...
...
while (from < to)
{
    Course course = new Course();
    .....
    template.Course.Add(course);
    .....
}
courseEntities.AddToTemplate(template); // Problem line
courseEntities.SaveChanges();

受け入れられた回答

HttpContext.Itemsプロパティにデータコンテキストを格納し始めるまで、このメッセージを受け取りました 。つまり、現在のWebリクエストに対して同じデータコンテキストを使用できます。そうすれば、同じエンティティを参照する2つのデータコンテキストに陥ることはありません。

これがDataContext Life Managementに関する良い投稿です。

助けになれば幸いです。

デイブ


人気のある回答

"template"、またはそれが参照するものは、courseEntities または別のコンテキストにすでに追加されています。私はあなたがそれがそれをすることを示すコードの中には何も見ない。おそらくそれはあなたがトリミングしたコードのいくつかで起こっています。デバッガで「template」のEntityStateプロパティを調べ、さらに「template」のプロパティのEntityStateも調べます。これは、どのエンティティインスタンスがすでにコンテキスト内にあるかを見つけるのに役立ちます。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ