实体框架插入使用 Z.EntityFramework 的 SingleInsertAsync 方法返回 IDENTITY
Posted
技术标签:
【中文标题】实体框架插入使用 Z.EntityFramework 的 SingleInsertAsync 方法返回 IDENTITY【英文标题】:Entity Framework insert using Z.EntityFramework's SingleInsertAsync method returning IDENTITY 【发布时间】:2021-12-29 11:41:06 【问题描述】:我想使用 Z Entity Framework Extensions 和 SingleInsertAsync
方法将一条记录插入到我的数据库中。但是,我需要新插入的实体的 ID。我怎么能得到那个?我真的找不到这种方法的文档。
这是我的代码:
Specification newSpecification = db.Specifications.Create();
newSpecification.ID_Feature = featureID;
newSpecification.Specification1 = specificationKey;
await db.Specifications.SingleInsertAsync(newSpecification);
int id = newSpecification.ID;
变量id
插入后明显为0。我怎样才能在那里获得实际的身份证?不幸的是,SingleInsertAsync
没有返回任何内容。
【问题讨论】:
【参考方案1】:SingleInsert
的工作方式与 BulkInsert
方法完全相同,因此您可以使用相同的文档。
该方法不返回标识,但应自动填充标识值。
如果Specification
将ID
指定为标识,则会自动填充该值。
查看以下在线示例:https://dotnetfiddle.net/h9Psm7
【讨论】:
在我的项目中不起作用。调用SingleInsertAsync
后,我的Entity的ID属性(设置为IDENTITY值)还是0。
您好@AndréReichelt,请与我们的支持人员联系以获取项目。目前几乎不可能确切地知道为什么它不适合你。以上是关于实体框架插入使用 Z.EntityFramework 的 SingleInsertAsync 方法返回 IDENTITY的主要内容,如果未能解决你的问题,请参考以下文章