3
我使用EF代碼首先用下面的模型實體框架AddOrUpdateOrDontBother:築巢
public class Root
{
public ChildA A { get; set; }
public ChildB B { get; set; }
public ChildC C { get; set; }
}
假設你有一個控制器
public class RecordController
{
...
public void Save(Root root)
{
...
}
...
}
和你Root
控制器已經收到了從模型客戶端包含以下更改:屬性A
是全新的它尚未添加到數據庫並需要創建,屬性B
已存在於數據庫中並需要更新,屬性C
沒有改變。
行動Save
不知道的性能變化是什麼,它只是需要正確更新Record
和創建丟失或更新現有的子模型,它也有可能是一些Child
類也可以有自己的嵌套的變化,因此我需要一種方法,通過模型比較新模型與現有模型進行比較,並將應用適當的更改。那我該怎麼做?
+1:
AttachAndMarkAs具有下列實現。在EF中提交對象圖是(仍然)乏味的工作。在Lerman&Miller的書_DbContext_中,提出了一種使用手動編碼的自我跟蹤實體(各種)的方法。不是銀色的子彈,但伊莫。 –
它可能是有用的: http://stackoverflow.com/questions/15336248/entity-framework-5-updating-a-record –