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 –