46

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

顺便说一句,我使用的是 MySQL,但 SQL 与 MSSQL 上的相同

4

1 回答 1

93

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

var entity = new Entity_Table { item1 = val1, item2 = val2 };
dbcontext.Entity_Tables.Add(entity);
dbcontext.SaveChanges();
int newPK = entity.ID;
于 2011-12-08T18:08:38.070 回答