我在多个表中插入数据。我需要知道表中最后插入的(自动递增的)ID。我需要在其他表格中将它用作Foriegn Key。
简而言之,我需要替代T-Sql中的@@Identity
。
答案 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的初学者。