0

我正在使用 EF 4.1 开发 MVC 应用程序。我已经使用 TPH 方法来生成数据库。

我有两个实体,1. company 和 2. Lead , Lead 是从 Company 继承的。

请检查下图:

在此处输入图像描述

现在我有以下映射...

在此处输入图像描述

这是带有 XML 的 edmx 文件

<EntitySetMapping Name="Companies">
            <EntityTypeMapping TypeName="IsTypeOf(Model1.Company)">
                <MappingFragment StoreEntitySet="Companies">
                    <ScalarProperty Name="Id" ColumnName="Id" />
                    <ScalarProperty Name="Name" ColumnName="Name" />
          <Condition ColumnName="__Disc__" Value="Company" />
                </MappingFragment>
            </EntityTypeMapping>
            <EntityTypeMapping TypeName="Model1.Lead">
                <MappingFragment StoreEntitySet="Companies">
    // Gives Error ->   <ScalarProperty Name="Id" ColumnName="Id" />
    // Gives Error ->   <ScalarProperty Name="Name" ColumnName="Name" />
    // Gives Error ->   <ScalarProperty Name="Status" ColumnName="Status" />
                    <Condition ColumnName="__Disc__" Value="Lead" />
                </MappingFragment>
            </EntityTypeMapping>

错误 3034:从第 47、54 行开始映射片段时出现问题:一个实体被映射到同一个表中的不同行。确保这两个映射片段不会将具有相同键的两组实体映射到两组不同的行。

4

1 回答 1

0

问题解决了。从 edmx 中的基本实体中删除了鉴别器属性。

于 2012-10-10T11:22:55.110 回答