C # EF Не сохраняет несколько записей, используя ForEach - PullRequest
0 голосов
/ 12 февраля 2019

Добрый день, ребята,

Я пытаюсь сохранить несколько записей.

Я провел исследование, но ни одна из них на самом деле не работает с моей стороны.

Вот мой код:

var dataToUpdate = context.Employees.ToList(); 

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

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

   db.SaveChanges()
}

Источник здесь: EF - Обновить несколько строк в базе данных без использования цикла foreach , но это не работает.

Я пыталсяпоставьте точки останова и попробуйте catch, и моя точка останова перейдет к db.SaveChanges без ошибок.Но когда я проверяю данные из базы данных, никаких изменений не произошло.

1 Ответ

0 голосов
/ 12 февраля 2019

Посмотри!вы извлекаете и обновляете данные из двух разных контекстов.На самом деле это должно быть из того же контекста, как показано ниже:

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

   var department= "IT";

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

   db.SaveChanges();
}

Теперь это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...