EF核心批量更新(更新范围)增加现有列值

时间:2019-04-09 11:41:38

标签: asp.net-core ef-core-2.2

我有一个实体列表,例如“客户”实体列表。

我正在使用批量更新作为context.Customer.UpdateRange(Customer);

我的要求是我需要用一个新值增加一个“现有列”值。例如,“内部客户”表的“数量”列需要更新为 数量=数量+当前值。

我可以通过遍历“客户列表”并一一更新客户对象来更新列。但是我希望在批量更新(UpdateRange)时这样做

我正在使用的技术-ASP.NET Core,MVC Core,EF Core

1 个答案:

答案 0 :(得分:0)

DbContext.UpdateRange 方法仅将您实体的状态标记为已修改。这样,无论数据是否更改(https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbcontext.updaterange?view=efcore-2.1),每个实体都将得到更新。

该方法不应用于迭代实体列表并更改其值。

知道您有几种解决方案: