私は .NET4.5/EF5 を使用しており、既存のデータベースからモデルを作成しました。
私は次のコードを使用しています:
Order currentOrder = new Order();
using (var db = new ILSEntities())
{
try
{
Event currentEvent = db.Events.OrderByDescending(u => u.EventID).FirstOrDefault();
currentOrder.Event = currentEvent;
db.Orders.Add(currentOrder);
db.SaveChanges();
そして、見つけた Event オブジェクトの重複レコードが作成されていることがわかりました。これは、私が望んでいたことではありません。
同様の問題に関連する多くの投稿を読みましたが、外部キー関係の2つの参加者のコンテキストが異なります。ここでは、1 つを見つけるために使用したのと同じコンテキストで保存しており、もう 1 つのオブジェクトは新しいオブジェクトです。
私も試しました:
currentOrder.Event.EventID = currentEvent.EventID;
しかし、それは失敗し、Event オブジェクトの他のメンバーの値が必要であることを伝える EF 検証エラーが表示されます。
また、オブジェクトを追加した後、複製されるオブジェクトの を などに具体EntityState
的に設定しようとしましたが、以前は成功しませんでした。Detached
Modified
Order
SaveChanges
これは基本的な問題だと思いますが、困惑しています