как получить последний вставленный id в linq EF
я вставляю в базу данных через метод" AddObject(Object)", и я хотел получить последний вставленный идентификатор этого, чтобы я мог вставить в другую таблицу с этим последним созданным идентификатором. Как мне это сделать? Это лучший способ сделать это? или есть лучший способ?
4 ответов
- Id будет доступен в
Object
после вызова dc.SaveChanges(); - другой способ использовать Guid или какой-либо другой идентификатор, который вы можете создать самостоятельно.
посмотреть пример кода, как показано ниже:
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, а затем сохранении изменений, объект будет иметь новый идентификатор, назначенный ему.
таким образом, Вы должны иметь возможность видеть объект.Id, содержащий новый ID
Я представляю, что вы пытаетесь разработать концепцию внешнего ключа здесь. Вы рассматривали возможность использования Associations
, который освободит вас от необходимости отслеживать идентификаторы для этой цели?