实体框架 - 派生实体的关联

时间:2009-06-07 10:42:45

标签: entity-framework entity derived associations

我正在使用TPH(每层次表)技术来映射一组实体。

数据库架构: UserGroupLabelSpreads表具有“UserId”,“GroupId”和“LabelId”可空字段以及一些其他公共字段。

DAL对象: - UserGroupLabelSpread抽象类。 - 具有仅具有非空UserId的鉴别符的UserSpread。 - 具有仅具有非空GroupId的鉴别符的GroupSpread。 - LabelSpread,带有仅具有非null LabelId的鉴别符。

我设法让这个东西工作,但是当我尝试将UserSpread实体连接到现有的“User”实体时,我收到以下错误: 错误1错误3034:从第487,554行开始映射片段中的问题:具有不同键的两个实体映射到同一行。确保这两个映射片段不会将具有重叠键的两组实体映射到同一组行。

我已经深入了解问题是我正在将UserId列映射两次:一次用于鉴别器条件,另一次用于关联。

我的假设是对的吗? - 我能让这件事起作用吗?

谢谢, 尼尔。

1 个答案:

答案 0 :(得分:2)

EDM Generator的更新版本应该可以为您提供帮助。您可以使用它来生成,验证等等。对不起,得到了错误的链接。 Here is the one to v2。我相信我有这个问题。如果我没有弄错,那是因为我将forreign键映射错了。然而,我当时正在使用EF4的beta 1,并且由于代理,一些消息是错误的。检查你的forreign键。 Blog.Id ---> Blog_id是我的问题。我有Blog.Id - > Blog.Id然后BlogEntry.Id ----> Blog.Blog_Id当然不起作用,但设计师在映射键时有点无情。

相关问题