首页 >后端开发 >C++ >如何在使用实体框架插入后检索数据库分配的实体 ID?

如何在使用实体框架插入后检索数据库分配的实体 ID?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-21 11:17:13390浏览

How to Retrieve a Database-Assigned Entity ID After Insertion with Entity Framework?

插入实体框架后获取实体 ID

当您使用实体框架将新实体插入数据库时​​,您通常需要数据库分配的 ID 来进行后续操作。 本文介绍了如何有效地检索此 ID。

虽然实体框架提供了 ID 属性,但它最初保存的是临时标识符,而不是实际的数据库 ID。 要获取数据库生成的 ID,需要使用稍微不同的方法。

解决方案

实体框架优雅地处理自动生成的键的 ID 检索(如 SQL Server 中的 IDENTITY)。 只需将您的实体添加到相关的 ObjectSet 并在 ObjectContext 上调用 SaveChanges 即可。然后,您的实体的 ID 属性将使用数据库分配的值进行更新。

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

  int id = myNewObject.Id; // id now contains the database-generated ID
}</code>

在内部,实体框架使用 SCOPE_IDENTITY() (或类似的函数,具体取决于您的数据库)在使用自动生成的键时获取新插入的实体的 ID。 这可确保您无需额外编码即可获得正确的 ID。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn