首页 > 后端开发 > C++ > 在实体框架中插入实体后如何检索数据库生成的 ID?

在实体框架中插入实体后如何检索数据库生成的 ID?

Mary-Kate Olsen
发布: 2025-01-21 11:11:09
原创
569 人浏览过

How Do I Retrieve a Database-Generated ID After Inserting an Entity in Entity Framework?

在 Entity Framework 中检索数据库生成的 ID

使用 Entity Framework (EF) 将对象插入数据库时,通常需要获取新插入实体的数据库生成的 ID。EF 提供了一种方便的方法来实现此目的:

<code class="language-csharp">using (var context = new MyContext())
{
  context.MyEntities.Add(myNewObject);
  context.SaveChanges();

  int id = myNewObject.Id; // ID 现在可用
}</code>
登录后复制

当使用自动生成的 ID(例如 MS SQL 中的 IDENTITY)时,EF 会在每个 INSERT 语句后自动执行 SELECT SCOPE_IDENTITY() 查询。这确保了插入对象的 ID 属性已正确填充数据库分配的值。

但是,需要注意的是,此方法仅适用于数据库生成的 ID。如果您使用自定义生成的 ID(例如 GUID),则需要在将对象添加到上下文之前手动设置 ID 属性:

<code class="language-csharp">myNewObject.Id = Guid.NewGuid();
context.MyEntities.Add(myNewObject);
context.SaveChanges();</code>
登录后复制

以上是在实体框架中插入实体后如何检索数据库生成的 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板