在casdade中保存对象(保存和/或更新)实体框架

时间:2014-02-09 22:03:06

标签: c# entity-framework

我想知道它是否可以在Entity Framework中使用一个对象,当我更新主体时,EF创建或更新列表,让我举一个例子:

Objects Relation(图片:http://i.stack.imgur.com/GJ2FW.png

在此示例中,我们有一个Companie,其中包含一个Employees列表,其中包含地址和电话列表。如果创建一个公司,则处于断开连接模式。之后我会添加一些带有收件人和电话的员工,有可能像NHibernate一样将它发送回Context并且EF解决什么是更新和创建的内容?

喜欢这个吗?

using (var db = new CompanyContext())
{
  db.Companies.Attach(cia);
  db.Entry(cia).State = EntityState.Modified;
  db.SaveChanges();
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

与NHibernate相比,必须告知EF在断开连接模式下明确更新/创建/删除的内容。好消息是有一个解决方案:

http://blog.brentmckendrick.com/introducing-graphdiff-for-entity-framework-code-first-allowing-automated-updates-of-a-graph-of-detached-entities/

我在我的一个项目中使用它,为我做了一个款待。