0
我有一個EDM,它有以下三種類型:Foo,Bar和Foob。 Foob是Foo的一個子類。 Foo有一個Bar實體的集合。酒吧有一個Foo實體的集合。我想爲集合添加一個新的Foo對象,以及它的Bar和相關的Foob對象。這樣的下面的代碼將工作:將實體框架中的對象樹附加到對象上下文中
Foo foo = new Foo(){Name = "Foo"};
using(var ctx = new EntityContext())
{
ctx.Foo.Attach(foo);
Bar bar = new Bar();
bar.Items.Add(new Foob(){Name="Foob1"};
bar.Items.Add(new Foob(){Name="Foob2"};
foo.Bars.Add(bar);
ctx.SaveChanges();
}
但是上面的代碼給我下面的異常:
System.Data.SqlClient.SqlException:不能在對象插入重複鍵行「dbo.tblFoo '具有獨特的索引。
嘗試附加'ctx.SaveChanges();'後,因爲我建議你的修改後保存數據庫已創建foo對象id(如果它autoincrement設置爲true)。 – 2010-12-20 09:33:16