AI я просто перехожу к ASYN C методам и пытаюсь обновить мои данные. Я могу выбрать просто найти, чтобы я знал, что хранилище работает.
Действие
[HttpPost]
public async Task<IActionResult> EditTeam(EmployeeVm empVm)
{
if (!ModelState.IsValid)
{
ModelState.AddModelError("", _errorUpdateMsg);
}
else
{
if (await _teamRepository.UpdateEmployee(empVm.Employee))
{
return RedirectToAction("Index");
}
ModelState.AddModelError("", _errorUpdateMsg);
}
return View(empVm);
}
Мой конструктор в репо
public TeamRepository(EnvisionDbContext envisionDbContext)
{
_envisonDbContext = envisionDbContext;
}
Вот мое обновление, которое не сохраняет
public async Task<bool> UpdateEmployee(Employee employee)
{
var result = await _envisonDbContext.Employees.FirstOrDefaultAsync<Employee>(e => e.Id == employee.Id);
if (result != null)
{
result.FirstName = employee.FirstName;
result.LastName = employee.LastName;
result.Phone = employee.Phone;
result.IsActive = employee.IsActive;
await _envisonDbContext.SaveChangesAsync();
return true;
}
return false;
}
Заранее спасибо за помощь.
ОБНОВЛЕНО: Если я добавлю это, это работает. Это потому, что два ожидающих вызова отключены?
result.IsActive = employee.IsActive;
_envisonDbContext.Entry(result).State = EntityState.Modified;