2013-03-11 1 views
1

Я использую EF в моем applicaitonОшибка фрагментов отображения, начиная с линии 1131: Потенциальное нарушение выполнения ключа таблицы .. на концептуальной стороне, но они не для

Я получаю следующее сообщение об ошибке:

Error 1 Error 3002: Problem in mapping fragments starting at line 1131:Potential runtime violation of table CTIDS's keys (CTIDS.CTID, CTIDS.Carrier): Columns (CTIDS.CTID, CTIDS.Carrier) are mapped to EntitySet CTIDS's properties (CTIDS.CTID1, CTIDS.Carrier) on the conceptual side but they do not form the EntitySet's key properties (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> 
+0

Где находится другая организация - вы только разместили объект, описывающий хранилище, но не концептуальную сущность, которая отображается на объект хранилища. Из сообщения об исключении представляется, что концептуальная сущность имеет составной ключ, который состоит из 3 свойств (CTIDS.AppVersion, CTIDS.CTID1, CTIDS.Carrier), в то время как объект хранилища (тот, который вы показали) имеет составной объект, состоящий из 2 свойств (CTIDS.CTID, CTIDS.Carrier), что является причиной исключения. – Pawel

+0

@Pawel вы можете добавить свой комментарий как aswer, так что я могу его выбрать? –

ответ

1

Вы только выложил объект, описывающий магазин, но не концептуальный объект, который отображается в магазине субъект. Из сообщения об исключении представляется, что концептуальная сущность имеет составной ключ, который состоит из 3 свойств (CTIDS.AppVersion, CTIDS.CTID1, CTIDS.Carrier), в то время как объект хранилища (тот, который вы показали) имеет составной объект, состоящий из 2 свойств (CTIDS.CTID, CTIDS.Carrier), что является причиной исключения.

Смежные вопросы