假设我们有一个 Customer 对象,它有一个 Order 对象。Order 对象具有 OrderDetail 对象。
Customer oCustomer
using(var context = new MyContext)
{
oCustomer = context.Include("Order.OrderDetail").Find(1);
}
oCustomer.Name ="blah blah";
oCustomer.Order.Description = "blah blah";
oCustomer.Order.OrderDetail.Quantity = 10;
现在当我改变客户的状态如下:
using(var context = new MyContext)
{
context.Entry(oCustomer).State = EntityState.Modified.
context.SaveChanges();
}
这只会保存 oCustomer 对象,而不是 oCustomer 中的 Order 和 OrderDetail。由于 context.Entry(oCustomer).State = EntityState.Modified 仅更改 oCustomer 的状态,而不更改 Order 和 OrderDetail。目前,我必须手动更改 ObjectGraph 中每个实体的状态,以便保存更改。有没有办法改变整个 ObjectGraph 的状态而不仅仅是父实体?是否有任何扩展方法或任何其他方法可以做到这一点?