C#EF不使用ForEach保存多个记录

时间:2019-02-12 07:46:45

标签: entity-framework

伙计们,

我正在尝试保存多条记录。

我已经完成了研究,但是没有一个真正对我有用。

这是我的代码:

var dataToUpdate = context.Employees.ToList(); 

using(var db = context){
   var department= "IT";

   dataToUpdate.ForEach(x=>{
       x.department = department;
   });

   db.SaveChanges()
}

来源:EF - Update multiple rows in database without using foreach loop,但无效。

我尝试放置断点并尝试catch,但我的断点无误地转到了db.SaveChanges。但是,当我检查db中的数据时,没有发生任何更改。

1 个答案:

答案 0 :(得分:2)

看看!您正在从两个不同的上下文中提取和更新数据。实际上,它应该来自以下相同的上下文:

using(var db = context)
{
  var dataToUpdate = db.Employees.ToList();

   var department= "IT";

   dataToUpdate.ForEach(x=>{
       x.department = department;
   });

   db.SaveChanges();
}

现在应该可以了。