首页 / C#开发 / 正文

[Entity Framework].NET/C#应用程序开发中如何获取由EF(Entity Framework)写入数据后生成的自增ID呢?

1545 发布于: 2018-04-19 09:49 读完约需 1 分钟

版权保护声明:本文未经许可,禁止任何形式转载,违者必究。

问题描述

在.NET/C#应用程序开发过程中,我们需要在向数据库写入数据后返回刚才写入数据对应的自增ID数值,如果使用的是Entity Framework ORM 库,应该如何获取呢?

方案一

使用Entity Framework的话,还是比较简单的。如果我们设计的数据库中对应表的ID字段是自增的,那么,只需要将实体添加到ObjectSet对象上,然后调用SaveChanges()方法,自增ID的值将自动返回并赋值给当前的实体,如下:

using (var context = new MyContext())
{
  context.MyEntities.AddObject(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // Yes it's here
}

Entity Framework会默认执行SQLSELECT SCOPE_IDENTITY,此语句将返回当前INSERT语句执行的自增ID值。

版权保护声明:本文未经许可,禁止任何形式转载,违者必究。

阅读了该文章的人还浏览了...

上一篇: [Entity Framework].NET/C#应用程序开发中如何查看EF(Entity Framework)生成的SQL语句?

下一篇: [LINQ].NET/C#应用程序开发中如何使用LINQ去重集合中的元素?

本文永久链接码友网 » [Entity Framework].NET/C#应用程序开发中如何获取由EF(Entity Framework)写入数据后生成的自增ID呢?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册