以下代码片段会更新员工记录。 这似乎是正确的做事方式,但在更新之前需要查询数据库以获取记录的当前值似乎很奇怪。 在.net的旧时代,你只是用来运行更新语句,一切都会好的。 在MVC中有没有办法更新记录woithout必须先选择未改变的记录?
[HttpPost]
public ActionResult Edit(staff2.Models.editEmployeeViewModel evm)
{
if (ModelState.IsValid)
{
staff.Models.Employee emp = context.Employees.SingleOrDefault(e => e.EmpId == id);
emp.EmpSurname = evm.lastname;
emp.EmpFirstname = evm.firstName;
emp.EmpExt = evm.EmpExt;
context.updateEmployee(emp);
context.Save();
return RedirectToAction("/Details/" + employee.empID, null, null);
}
return View(employee);
}
答案 0 :(得分:0)
如果您处于Web环境中,则表明您正处于断开连接且无状态的环境中。因此,您需要告诉数据库需要更新的内容。所有你需要一个实体的参考,EF将负责其余的事情。它可能看起来很奇怪,但过了一段时间它变成了第二天性。