如何在Entity Framework中查找最后插入的行的标识?

时间:2010-11-01 10:25:24

标签: .net entity-framework

我在多个表中插入数据。我需要知道表中最后插入的(自动递增的)ID。我需要在其他表格中将它用作Foriegn Key。

简而言之,我需要替代T-Sql中的@@Identity

2 个答案:

答案 0 :(得分:84)

实体框架将自动加载最后插入的ID以填充插入实体的主键列:

var customer = new Customer() { Name = "Steven" };

context.AddObject(customer);

context.SaveChanges();

var id = customer.Id;

请注意,Id属性仅在调用SaveChanges()后填充,以防StoreGeneratedPattern属性设置为“Identity”或“Computed”为自动递增的ID列。存储部分模型。

答案 1 :(得分:2)

无论如何,如果你需要任何其他目的的id ...为某个实体调用EF Insert Method会自动返回当前插入的行id ...

var rowId=db.Insert(Entity); 

我想......如果我错了,请告诉我....我是EF的初学者。