使用Entity Framework更新语句

Dre*_*vak 7 entity-framework executenonquery

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

update test set value = value + 1 where id = 10
Run Code Online (Sandbox Code Playgroud)

Edw*_*rey 11

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

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


Den*_*ler 5

不是这种形式没有.

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

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

  • 或者你也许可以使用它:http://weblogs.asp.net/pwelter34/archive/2011/11/29/entity-framework-batch-update-and-future-queries.aspx (8认同)