实体框架4获取插入记录的主键ID

Mat*_*our 35 .net c# entity-framework

我正在使用Entity Framework将一行插入我的sql数据库.如果我要使用存储过程,那么我将能够返回我插入的记录的主键.

我是否能够使用实体框架返回最后一个插入的最后一条记录的PK?

Ben*_*son 40

插入实体后,它应该已更新,以便映射到数据库中主键的属性具有新的PK值.

  • 需要将更改提交到数据库,添加只是将其放在上下文中,直到您点击数据库PK值,而不是生成. (6认同)
  • 这是在Add上发生的还是我必须先将更改保存到上下文才能获得可用的ID? (2认同)

asm*_*sma 29

是的,你当然可以这样做.见例子:

int id = 0;

using (PC2Entities objectContext = new PC2Entities())
{
   objectContext.ClientContacts.AddObject(clientContact);
   objectContext.SaveChanges();
   id = clientContact.Id;

   transaction.Complete();
}
Run Code Online (Sandbox Code Playgroud)

id 是PK.