首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用基于EF的.Net核心3.1 (应用编程接口项目)向Posgres添加行

无法使用基于EF的.Net核心3.1 (应用编程接口项目)向Posgres添加行
EN

Stack Overflow用户
提问于 2020-09-11 05:17:13
回答 2查看 43关注 0票数 0

我一直在使用基于.Net Core3.1和PostgreSQL 12的EF。主要的问题是我不能使用EF添加一行。它总是希望获得一个主键。我有一个baseClass,其中有一个属性-- "Id“,它有一个键属性。默认情况下,所有其他实体都继承自baseClass以获取Id属性。此外,我还创建了通用存储库,以便在一个地方使用任何存储库。它内部有以下方法,如创建、更新、删除和GetAll。现在,我可以从数据库中获取任何数据,但不能将任何行插入到any表中,因为EF希望获取主键。下面你可以看到异常。

代码语言:javascript
运行
复制
Unable to track an instance of type 'ProjectData' because it does not have a primary key. Only entity types with primary keys may be tracked.

请指教我该怎么做!

EN

回答 2

Stack Overflow用户

发布于 2020-09-11 06:31:12

到目前为止,这是一个关于实体框架的开放问题:https://github.com/aspnet/EntityFramework.Docs/issues/898

不能在没有密钥的DbQuery或DbSet上添加新实体。我建议你跟踪这个问题,现在模拟你的上下文,或者使用实体框架核心模拟来完成这一点。

票数 1
EN

Stack Overflow用户

发布于 2020-09-12 01:32:59

问题已解决!必须创建解决方案中的迁移。只有这样它才能正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63837814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档