Fri*_*itz 2 c# asp.net entity-framework-core .net-6.0
我正在寻找与以下 SQL 语句等效的 EF Core C#:
UPDATE TheTable
SET RevisionId = RevisionId + 1
WHERE notPk = @someValue
Run Code Online (Sandbox Code Playgroud)
该解决方案不应受到竞争条件的影响。
@TomTom 的现有答案当时是正确的,但现在已经过时了。EF Core 7+ 允许您发送批量更新,而无需先加载实体。
使用你的例子:
await dbContext.TableItems
.Where(ti => ti.notPk == someValue)
.ExecuteUpdateAsync(s =>
s.SetProperty(ti => ti.RevisionId, ti => ti.RevisionId + 1)
.SetProperty(ti => ti.AnotherValue, ti => ti.AnotherValue + 1)
);
Run Code Online (Sandbox Code Playgroud)
我添加了另一个属性来演示如何SetProperty将调用链接在一起。更多信息请访问https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/whatsnew
| 归档时间: |
|
| 查看次数: |
1385 次 |
| 最近记录: |