1

アプリケーションでEFを使用しています

次のエラーが表示されます。

エラー 1 エラー 3002: 行 1131 から始まるフラグメントのマッピングの問題: テーブル CTIDS のキー (CTIDS.CTID、CTIDS.Carrier) のランタイム違反の可能性: 列 (CTIDS.CTID、CTIDS.Carrier) は EntitySet CTIDS のプロパティ (CTIDS. CTID1、CTIDS.Carrier) は概念的な側面にありますが、EntitySet の主要なプロパティ (CTIDS.AppVersion、CTIDS.CTID1、CTIDS.Carrier) を形成しません。D:\MaM\Server\ClientServices\Dev\ClientService 1.6\Conduit.Mam.ClientService.DAL.EntityFramework\MamModel.edmx 1132 15 Conduit.Mam.ClientService.Common.EntityFramework

エラーをダブルクリックすると、次の部分が表示されますedmx

      <EntitySetMapping Name="CTIDS">
        <EntityTypeMapping TypeName="MaMDBModel.CTID">
          <MappingFragment StoreEntitySet="CTIDS">
            <ScalarProperty Name="Carrier" ColumnName="Carrier" />
            <ScalarProperty Name="AppVersion" ColumnName="AppVersion" />
            <ScalarProperty Name="CTID1" ColumnName="CTID" />
          </MappingFragment>
        </EntityTypeMapping>

私はcomposite_PKを持つテーブルを持っています

これはまさに私のに反映されているものedmxです:

    <EntityType Name="CTIDS">
      <Key>
        <PropertyRef Name="CTID" />
        <PropertyRef Name="Carrier" />
      </Key>
      <Property Name="CTID" Type="varchar" Nullable="false" MaxLength="50" />
      <Property Name="AppVersion" Type="varchar" Nullable="false" MaxLength="50" />
      <Property Name="Carrier" Type="int" Nullable="false" />
    </EntityType>
4

1 に答える 1

1

ストアを説明するエンティティのみを投稿しましたが、ストア エンティティにマップされる概念エンティティは投稿しませんでした。例外メッセージから、概念エンティティには 3 つのプロパティ (CTIDS.AppVersion、CTIDS.CTID1、CTIDS.Carrier) で構成される複合キーがあり、ストア エンティティ (あなたが示したもの) には 2 つのプロパティで構成される複合エンティティがあるようです。 (CTIDS.CTID, CTIDS.Carrier) これが例外の理由です。

于 2013-03-12T15:49:01.273 に答える