簡體   English   中英

如何在linq EF中獲取最后一個插入的id

[英]how to get last inserted id in linq EF

我通過“AddObject(Object)”方法插入到數據庫中,我想獲取最后一個插入的id,這樣我就可以插入另一個具有最后創建的id的表中。 我該怎么做呢? 這是最好的方法嗎? 還是有更好的方法?

  1. 調用dc.SaveChanges()后,Id將在Object中可用;
  2. 另一種方法是使用Guid或其他可以自己生成的id。

請參閱以下代碼示例:

 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;
        }

使用AddObject,然后保存更改時,Object將為其分配新的Id。

所以你應該能夠看到包含新ID的Object.Id

我想你在這里試圖找出一個外鍵概念。 您是否考慮過使用Associations來免除您為此目的跟蹤ID?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM