В моем ASP.NET-Core Code First project
я получаю следующую ошибку на SaveChangesAsync()
в следующем Action Method
:
Ошибка
DbUpdateConcurrencyException: Database operation expected to affect 1 row(s) but actually affected 0 row(s). Data may have been modified or deleted since entities were loaded
Метод действия:
public async Task<IActionResult> UpdateWeekDay(int iWeekDay)
{
if (ModelState.IsValid)
{
WeekModel oWeekModel = new WeekModel();
oWeekModel.DayOfWeek= iWeekDay;
_context.Update(oWeekModel);
await _context.SaveChangesAsync();
return View();
}
}
Модель:
public class WeekModel
{
[Key]
public int WeekId { get; set; }
public int DayOfWeek { get; set; }
}
ПРИМЕЧАНИЕ. Соответствующая таблица Weeks
в базе данных SQL Server 2014 имеет WeekId as an identity column and as the PK
. Более того, таблица содержит только одну запись.
ОБНОВЛЕНИЕ:
После этого сообщения от пользователя sstan я попробовал следующее в приведенном выше методе действий. Это не дает мне ошибки, но также не обновляет БД:
WeekModel oWeekModel = new WeekModel();
_context.WeekModel.Attach(oWeekModel);
oWeekModel.DayOfWeek= iWeekDay;
await _context.SaveChangesAsync();