使用Entity Framework更新语句

entity-framework executenonquery

简单的问题,是否可以在更新一个实体时使用Entity Framework实现此查询?

update test set value = value + 1 where id = 10

一般承认的答案

不是这种形式没有。

您必须选择符合条件的所有实体,对它们进行预测并更新它们。

如果您正在寻找可以在数据库中正确执行的操作,因为您的设置可能很大,则必须直接使用SQL。 (我不记得EF是否有办法直接以Linq To SQL的方式执行UPDATE查询)。


热门答案

使用Entity Framework扩展库的批量更新功能,如下所示:

dbContext.Tests.Update(t => t.Id == 10, t => new Test() { Value = t.Value + 1 });


许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因