💢 特别说明:如果 Issue 没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效
Issue
。
EFCore,自定义Entity包含属性:租户Id【TenantId】,使用EFCore出现如下异常信息:
The entity type 'Tenant' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.
当我将属性【TenantId】,修改为【Tenantid】时(将Id的I, 改为小写i),代码可以正常运行
⚠⚠ 必须提供完整可运行且包含错误的
Git
仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则不予处理。⚠⚠
您的代码下载地址?
https://gitee.com/YBLS/app.demo.furion/tree/master/
经测试,功能正常,仔细看看多租户和数据库实体配置文档。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
这个问题怎么解决呢
首先先说声抱歉,早期您发这个问题的时候,没有提供 Demo
,然后我关闭了 Issue
,后来您补充了 Demo
但是没有重新打开 Issue
,直到 @小苏打饼。 回复我才重新注意到该 Issue
,然后对您的 Demo
做了测试,发现确实框架存在问题。
原因是 Furion
框架底层在没有启用多租户的情况下默认忽略了 TenantId
的实体属性,所以您自定义的 TenantId
被忽略之后就出现了 The entity type 'Tenant' requires a primary key to be defined
没有自定义主键的错误。
最终修复代码:a1c6ee8
将在今天发布新版本,同时希望能够升级到最新版后得到回复。
登录 后才可以发表评论