2012-05-16 40 views
0

我有一個Apple實體,它包含一個遞增的標識字段。添加鏈接的實體?

Owner owner = new Owner(); 
Apple apple = new Apple(); 
DbContext.Apple.Add(apple); 
Owner.Apple = apple; 
DbContext.Owner.Add(owner); 
DbContext.SaveChanges(); 

上面的代碼是否將兩個實體正確地連接在一起,同時插入數據庫?

我猜這和Delayed Execution有關,但我對這個概念還是很模糊的。

回答

1

您可以將Apple分配給您的所有者,將所有者插入到您的數據庫中,然後將它們插入(兩者之間有關係)。

所以就像這樣:

Owner owner = new Owner(); 
Apple apple = new Apple(); 
Owner.Apple = apple; 
DbContext.Owner.Add(owner); 
DbContext.SaveChanges(); 
+0

的快速反應涼爽的感謝!在這個例子中'apple'是一個添加到'owner'的新實體,現在如果'apple'是一個現有的實體呢?英孚會簡單地鏈接到現有的或者它會創建一個重複的實體? – Bonk

+1

如果在實體上啓用了更改跟蹤(默認情況下,如果您從數據庫中檢索Apple),實體框架將會發現它是一個現有實體,並且只會執行更新。 –