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も調べます。これは、どのエンティティインスタンスがすでにコンテキスト内にあるかを見つけるのに役立ちます。