#c# #asp.net #asp.net-mvc
#c# #asp.net #asp.net-mvc
Вопрос:
Я получаю эту ошибку, но не могу понять, почему? В нем говорится, что новая транзакция не разрешена, потому что в сеансе запущены другие потоки.
[HttpPost]
public ActionResult UpdateMultiple(IEnumerable<int> employeesToDelete)
{
var listemployee = db.Employees.Where(x => employeesToDelete.Contains(x.ID));
foreach (var item in listemployee)
{
int itemid = item.ID;
Employee e = db.Employees.Find(itemid);
// e = db.Employees.Find(item);
db.Entry(e).State = EntityState.Modified;
db.SaveChanges();
}
return RedirectToAction("Index");
}
Комментарии:
1. Выйдите
db.SaveChanges();
из цикла.2. Добавьте a . ToList() для вашего listemployee , без ToList() база данных запрашивается при каждом из предварительных запусков, у читателя все еще есть открытая транзакция, когда вы пытаетесь сохранить