我需要批量更新,它几乎就是下面的sql语句
update RECORDS set SOMEValue = 1 where ID in (1, 5, 3,6,7,9)
我写了以下哪些有效
//get all the records to update
var COESRecord = context.COESDetails.Where(x => model.COESs.Contains(x.COESNo));
foreach (var COES in COESRecord)
{
COES.InspectorId = model.InspectorId;
context.Entry(COES).State = EntityState.Modified;
}
context.SaveChanges();
但问题是当我更新1000条记录时,它需要很长时间。这是最好的方法吗?或者有其他方式进行批量更新吗?
答案 0 :(得分:1)
如果您想远离SQL,可以尝试使用EntityFramework.Extended。
支持编写LINQ,如批量删除/更新查询。我只尝试了一次,效果很好,但不确定我是否会在生产中使用它。
答案 1 :(得分:0)