插入实体框架后获取实体 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中文网其他相关文章!