c# - 从一个基类继承两个类,给出错误3024

时间:2011-09-20 13:46:50

标签: c# sql-server-2008 inheritance entity-framework-4.1 poco

我的数据库中有三个表t1,t2和t3,t1是t2和t3的“基数”。每个表都有一个名为Id和t2的列,t3还有一个名为t1Id的列。

在t1.t1Id和t2.t1Id / t3.t1Id上也存在ForeignKey-Constraints,基数为1到0..1。

在VisualStudio EF-Modeldesigner中,我产生了以下情况:

Basic picture of the situation

确实有更多列,但它们与我的问题无关;-)。在编译期间,我收到两个错误,错误代码为3024:

   Problem in mapping fragments starting at line xy: Must specify mapping for all key properties t1.t1Id of the EntitySet t1s

编辑:我使用POCO-Classes

我看不出问题出在哪里。我尝试通过添加ForeignKey-association和navigation-properties来解决问题,但没有成功。

1 个答案:

答案 0 :(得分:4)

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

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

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