特定のコンテキストにすでにアタッチされているオブジェクトを次の方法でアタッチしようとすると、次のエラーが発生しますcontext.AttachTo(...)
。
同じキーを持つオブジェクトは、ObjectStateManagerにすでに存在します。ObjectStateManagerは、同じキーを持つ複数のオブジェクトを追跡することはできません。
次のようなことを達成する方法はありますか?
context.IsAttachedTo(...)
乾杯!
編集:
ジェイソンが概説した拡張方法は近いですが、私の状況では機能しません。
私は別の質問への回答で概説されている方法を使用していくつかの作業をしようとしています:
Linq to Entitiesを使用して、最初に行を取得せずにテーブルから1つ以上の行を削除するにはどうすればよいですか?
私のコードは次のようになります。
var user = new User() { Id = 1 };
context.AttachTo("Users", user);
comment.User = user;
context.SaveChanges();
同じメソッドを使用してダミーUser
オブジェクトをアタッチしようとするそのユーザーのために何か他のことをする場合を除いて、これは正常に機能します。以前にそのダミーユーザーオブジェクトを添付したため、これは失敗します。どうすればこれを確認できますか?