0

私はEF 4.1でMVCアプリケーションを開発しています。DBを生成するためにTPHアプローチを使用しました。

1. company と 2. Lead の 2 つのエンティティがあり、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 で始まるフラグメントのマッピングの問題: エンティティが同じテーブル内の異なる行にマップされています。これらの 2 つのマッピング フラグメントが、同一のキーを持つエンティティの 2 つのグループを 2 つの異なる行のグループにマップしないようにしてください。

4

1 に答える 1

0

問題が解決しました。edmx の基本エンティティから識別子プロパティを削除しました。

于 2012-10-10T11:22:55.110 に答える