5

我有一个Customer带有导航属性的对象Days(天是一个单独的表,它有 - day_id,customer_id - FK)。

mycontext.Customers.ApplyCurrentValues(cust);
mycontext.SaveChanges();

这仅更新了客户的标量属性,而不是天数。有什么聪明的方法可以更新 Days 吗?(无需在几天内手动迭代..)?如果没有 - 是否有更新第二张表(天)的最佳做法?如果可能,请编写应使用的显式代码。

ps 我目前正在使用 EF 4.0

4

2 回答 2

5

GraphDiff如果您想要一种简单易用的方法来处理断开连接的对象,您可以使用库。

mycontext.UpdateGraph(cust, map => map.OwnedCollection(x => x.Days));
mycontext.SaveChanges();

这将插入或更新客户对象并更新Days集合。

于 2014-08-24T04:27:52.377 回答
1

不,如果不对相关实体进行手动迭代,您就无法做到这一点。看看这个问题和答案可能会有所帮助。MVC 实体框架修改子实体

于 2012-09-12T01:28:33.080 回答