C# 将对象添加到数据库后访问对象属性

C# 将对象添加到数据库后访问对象属性,c#,mysql,.net,asp.net-mvc,entity-framework,C#,Mysql,.net,Asp.net Mvc,Entity Framework,我有一个create方法,在该方法中,我向数据库中添加了一个新的Employee对象,添加员工后,我希望进入编辑页面,以便能够输入有关该员工的更多详细信息 编辑操作方法采用1个参数,即EmployeeID,但是一旦将对象添加到Employee表中,数据库就会动态分配此EmployeeID。在同一操作方法中,如何在_db.SaveChanges()之后访问新添加员工的ID 下面是我的方法的一部分: [HttpPost] [ValidateAntiForgeryToken] public Actio

我有一个create方法,在该方法中,我向数据库中添加了一个新的Employee对象,添加员工后,我希望进入编辑页面,以便能够输入有关该员工的更多详细信息

编辑操作方法采用1个参数,即EmployeeID,但是一旦将对象添加到Employee表中,数据库就会动态分配此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});
}

尝试以下代码并访问最新的当前员工Id,如
employee.Id
:-

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Employee Employee) {
 _db.Employees.Add(Employee);
 _db.SaveChanges();

 var id = Employee.Id;
 return RedirectToAction("EditEmployeeViewModel", new { id = id});
}

你可以用这个:

Employee.Id
Employee
对象与您对
db
所做的更改同步。因此,当您将此对象添加到
Employees
并调用
SaveChanges
时,此对象将保存到
db
,其状态将更新,并具有
员工的
Id

具体地说,正如它所说:

默认情况下,实体框架在每个插入之后都带有SELECT 使用自动生成的ID时,作用域\标识()


@欢迎你,伙计。我很高兴我帮了忙。