我有一个带有导航属性Customer
的对象Days
(天是一个单独的表,其中包含 - day_id,customer_id - FK)。
mycontext.Customers.ApplyCurrentValues(cust);
mycontext.SaveChanges();
这只更新了客户的标量属性,而不是日期。更新天有什么聪明的方法吗? (没有在几天手动迭代..)?如果没有 - 是否有更新第二个表(天)的最佳做法? 如果可能,请编写应该使用的显式代码。
P.S。我目前正在使用EF 4.0
答案 0 :(得分:4)
如果您想要一种简单易用的方法来处理断开连接的对象,可以使用GraphDiff
库。
mycontext.UpdateGraph(cust, map => map.OwnedCollection(x => x.Days));
mycontext.SaveChanges();
这将插入或更新客户对象,并同时更新Days
集合。
答案 1 :(得分:1)
如果不在相关实体上手动迭代,就不能这样做。看看这个可能有帮助的问题和答案。MVC Entity Framework modifying child entities