entity-framework - 通过 EF 插入后获取自动身份 key

标签 entity-framework entity-framework-4.1 dbcontext

通过 Entity Framework 4.1 添加记录时,是否有直接的方法来检索数据库自动生成的主键?

例如:

dbcontext.Entity_Tables.Add(new Entity_Table { item1 = val1, item2 = val2 });
dbcontext.SaveChanges();
newPK = ???;

等效的 SQL 是:

newPK = executeOnDB("INSERT INTO Entity_Table (item1, item2) VALUES (val1, val2);SELECT @@Indentity";);

顺便说一句,我使用的是 MySQL,但 SQL 与 MSSQL 上的相同

最佳答案

我相信 EF 应该使用身份更新您的实体对象:

var entity = new Entity_Table { item1 = val1, item2 = val2 };
dbcontext.Entity_Tables.Add(entity);
dbcontext.SaveChanges();
int newPK = entity.ID;

关于entity-framework - 通过 EF 插入后获取自动身份 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8435462/

相关文章:

c# - 如何使用 EF 和 WPF 显示和更新来自多个表的数据网格中的数据?

database - Entity Framework 4.1 - 交换数据库

entity-framework-4.1 - EF 4.1 Code First 数据库初始化 System.NullReferenceException 加载数据

asp.net - 我应该在 End_Request 事件处理程序中处理给定的 ApplicationDbContext 吗?

c# - EF Core/DbContext > 将自定义类型映射为主键

c# - EF BulkInsert 未在 Task.Run() 中触发

c# - LINQ to Entities 无法识别方法 'System.Collections.Generic.Dictionary`

c# - 在 DateTime 上动态过滤 ObjectQuery<T>

entity-framework - Entity Framework 4.1 检索自引用数据

c# - 以 SOLID 方式使用 DbContext