我有一个创建方法,可以将新的员工对象添加到数据库中,添加员工后,我想进入编辑页面,以便能够根据需要输入有关员工的更多详细信息。
编辑操作方法采用 1 个参数,即 EmployeeID,但是,一旦将对象添加到员工表中,该 EmployeeID 就会由数据库动态分配。如何在同一操作方法中的 _db.SaveChanges() 之后访问新添加的员工的 ID?
这是我的方法的一部分:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Employee Employee) {
_db.Employees.Add(Employee);
_db.SaveChanges();
//access the employee and gets its id???
//var id = id???
return RedirectToAction("EditEmployeeViewModel", new { id = id});
}
最佳答案
你可以使用这个:
Employee.Id
Employee
对象与您对 db
所做的更改同步。因此,当您将此对象添加到Employees
并调用SaveChanges
时,该对象将被保存到db
并且其状态将被更新,具有 Employee
的 Id
。
具体来说,如所述here :
Entity framework by default follows each INSERT with SELECT SCOPE_IDENTITY() when autogenerated Ids are used.
关于c# - 添加到数据库后访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27505261/