通过EF插入后获取自动身份密钥

时间:2011-12-08 18:02:57

标签: entity-framework entity-framework-4.1 dbcontext

在通过Entity Framework 4.1添加记录时,是否有直接的方法来检索数据库自动生成的主键?

例如:

dbcontext.Entity_Tables.Add(new Entity_Table { item1 = val1, item2 = val2 });
dbcontext.SaveChanges();
newPK = ???;

SQL等价物是:

newPK = executeOnDB("INSERT INTO Entity_Table (item1, item2) VALUES (val1, val2);SELECT @@Indentity";);

BTW我正在使用MySQL,但SQL与MSSQL上的相同

1 个答案:

答案 0 :(得分:90)

我相信EF应该用身份更新您的实体对象:

var entity = new Entity_Table { item1 = val1, item2 = val2 };
dbcontext.Entity_Tables.Add(entity);
dbcontext.SaveChanges();
int newPK = entity.ID;