我在我的应用程序中使用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 \服务器\ ClientServices \开发\ 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>
答案 0 :(得分:1)
您只发布了描述商店的实体,但没有发布映射到商店实体的概念实体。从异常消息中可以看出,概念实体具有由3个属性(CTIDS.AppVersion,CTIDS.CTID1,CTIDS.Carrier)组成的复合键,而商店实体(您显示的那个)具有由2个属性组成的复合实体(CTIDS.CTID,CTIDS.Carrier)这是例外的原因。