如何通過EF4將實體添加到數據庫而無需首先附加所有引用的實體?EF4 ObjectContext.EntitySet.AddObject()級聯插入
var entity = new MyEntity() { FK_ID = 4 }; // associated entity key
using (var db = new MyEntities())
{
db.MyEntity.AddObject(entity);
db.SaveChanges();
db.AcceptAllChanges();
}
此代碼不斷試圖插入一個新的默認值FK_Entity。
我在網上看到一些建議,我需要首先附加FK_Entity,然後將MyEntity.FK屬性設置爲附加的FK_Entity,但這看起來很糟糕。 1)我認爲附加要求加載FK_Entity,我不需要插入實體 - 我已經給它正確的密鑰,並且如果我犯了一個錯誤,SQL將強制引用完整性。 2)因爲我有更多的參考資料,我必須附上每一個?
我無法找到任何選項或重載抑制級聯插入。我一定在想這個錯誤?
謝謝。
感謝您的回答。 +1努力。但是這導致我在ObjectStateManager中已經存在相同密鑰的對象出現更多錯誤。相反,我發現MVC Binder(或其他)正在創建一個我不想要的空FK_Entity。所以我在Create()控制器處理程序中排除FK_Entity屬性,並繼續設置fk_id屬性。 – 2010-10-29 15:39:40