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

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

例如:

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";); 

顺便说一下,我正在使用MySQL,但SQL将是一样的MSSQL

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

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