在 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中文网其他相关文章!