Entity framework EF是否只允许更新修改过的列,而不覆盖表行中的所有列?

Entity framework EF是否只允许更新修改过的列,而不覆盖表行中的所有列?,entity-framework,entity-framework-4,Entity Framework,Entity Framework 4,假设我们有一个表,Person有几个列-ID、Name、Age、accountry。用户A读取id为1的行并更新名称(尚未保存)。用户B读取行id 1并更新年龄(保存)。然后,当用户A更新该行时。用户A是否覆盖用户B对年龄列所做的更改?基本上,调用EF的Savechanges()是否会用最新更新覆盖整行?(未处理并发) 谢谢。我误解了这个问题。我现在没有一个DB可以用LINQ Pad测试,所以删除原始答案。这可能对您有用。我想知道是否有任何方法可以知道,基于每列的值,并将其与原始值(读取时)进行

假设我们有一个表,Person有几个列-ID、Name、Age、accountry。用户A读取id为1的行并更新名称(尚未保存)。用户B读取行id 1并更新年龄(保存)。然后,当用户A更新该行时。用户A是否覆盖用户B对年龄列所做的更改?基本上,调用EF的Savechanges()是否会用最新更新覆盖整行?(未处理并发)


谢谢。

我误解了这个问题。我现在没有一个DB可以用LINQ Pad测试,所以删除原始答案。这可能对您有用。我想知道是否有任何方法可以知道,基于每列的值,并将其与原始值(读取时)进行比较,然后在update语句中仅包括这些列。就像在我描述的场景中一样,年龄不应该被用户A的值覆盖,因为A根本没有更改该值。用户B的更改本应获胜,但由于EF对所有列进行行更新,因此年龄被错误覆盖。我发布的链接提供了不同的更新选项来解决此问题。你能为你的例子展示你的更新代码吗?谢谢你的回答。那不是我想要的。我在这里找到了解决问题的方法。