C# - 从一个基类继承两个类会出现错误3024。

4
我在我的数据库中有三个表:t1、t2和t3,其中t1是t2和t3的“基础”。每个表都有一个名为Id的列,并且t2和t3还有一个名为t1Id的列。
t1.t1Id 和 t2.t1Id / t3.t1Id 上也有ForeignKey-Constraints,其基数为1到0..1。
在VisualStudio EF-Modeldesigner中,我生成了以下情况:
实际上还有更多的列,但它们与我的问题无关。在编译期间,我遇到了两个错误,错误代码为3024:
   Problem in mapping fragments starting at line xy: Must specify mapping for all key properties t1.t1Id of the EntitySet t1s

编辑:我使用POCO类。

我看不出问题可能出在哪里。我试图通过添加外键关联和导航属性来解决问题,但没有成功。

1个回答

4

不应将t1id添加到派生类型中,t1id已隐含在派生类型中。

要重新生成映射,请按“从模型生成数据库”按钮。

编辑:仅将t1id放在t1上,而不是T2和T3上。


删除UserID后,我无法编译项目 :-( - amens
@amens:什么是UserId?请使用您的示例术语,或发布您的原始代码。当您尝试编译时,会出现什么错误? - Dan Puzey
抱歉,我的意思是t1Id。错误信息为:“实体类型t1未定义关键字。请定义关键字”。如果我在子类中删除该项,则会出现与之前相同的错误。 - amens
@BasB 很不幸,这没有任何作用,我仍然会得到3024错误,就像我在帖子中描述的那样。我以为这可能是POCO类的问题,但重新配置为默认值也没有效果。 - amens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接