如何在linq EF中获取最后一个插入的id

ant*_*liu 9 c# entity-framework

我通过"AddObject(Object)"方法插入到数据库中,我想获取最后一个插入的id,这样我就可以插入另一个具有最后创建的id的表中.我该怎么做呢?这是最好的方法吗?还是有更好的方法?

And*_*ich 13

  1. Object在您调用dc.SaveChanges()之后,Id将可用;
  2. 另一种方法是使用Guid或其他可以自己生成的id.


Ash*_*lam 5

请参阅以下代码示例:

 public virtual int CreateNewEmployee(Employee newEmployee)
        {
            if (newEmployee.EntityState == EntityState.Detached)
                _DatabaseContext.Employees.Attach(newEmployee);

            _DatabaseContext.ObjectStateManager.ChangeObjectState(newEmployee, EntityState.Added);

            int numberOfAffectedRows = _DatabaseContext.SaveChanges();

            return newEmployee.EmployeeId;
        }
Run Code Online (Sandbox Code Playgroud)