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