从第1131行开始的映射片段出错:运行时可能违反表键.在概念方面,但他们没有



我在我的应用程序中使用EF

我得到以下错误:

错误1错误3002:从行开始的映射片段有问题1131:运行时可能违反表CTIDS的键(CTIDS。CTID,载波:列(CTIDS)。CTID, CTIDS.Carrier)映射到设置CTIDS的属性(CTIDS。CTID1, CTIDS.Carrier)上但它们不构成EntitySet的关键属性(CTIDS。AppVersion CTIDS。CTID1 CTIDS.Carrier)。D: 老妈 Server ClientServices 开发 ClientService1.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>

您只发布了描述商店的实体,而没有发布映射到商店实体的概念实体。从异常消息中可以看出,概念实体有一个由3个属性(CTIDS)组成的组合键。AppVersion CTIDS。CTID1, CTIDS. carrier),而商店实体(您展示的那个)有一个由2个属性组成的复合实体(CTIDS)。

相关内容

  • 没有找到相关文章

最新更新