0

Я получаю следующее сообщение об ошибке на моей базе данных первой модели в Entity Framework:Два лица, отображенных в те же строки

Ошибка 3032: Проблема в фрагментах отображения, начиная с линией 3434, 4312: EntityTypes модель. Доцент, Model.Student сопоставляются с теми же строками в таблице Attendee. Условия сопоставления можно использовать для , чтобы различать строки, на которые эти типы сопоставляются.

В то время как я уже добавил условия для этих моделей:

<EntityTypeMapping TypeName="IsTypeOf(Model.Student)"> 
    <MappingFragment StoreEntitySet="Attendee"> 
    <ScalarProperty Name="Id" ColumnName="atnId" /> 
    <Condition ColumnName="atnTypeId" Value="1" /> 
    </MappingFragment> 
</EntityTypeMapping> 

И

<EntityTypeMapping TypeName="IsTypeOf(Model.Docent)"> 
    <MappingFragment StoreEntitySet="Attendee"> 
    <ScalarProperty Name="AvailabilityApprovedByType" ColumnName="atnAvailabilityApprovedByAttId" /> 
    <ScalarProperty Name="Id" ColumnName="atnId" /> 
    <Condition ColumnName="atnTypeId" Value="2" /> 
    </MappingFragment> 
</EntityTypeMapping> 

Их более сложная иерархия, возможно, это проблема. Но я не уверен, как действовать дальше. Это a иерархия:

Attendee    (Abstract) 
    -> Facility   (Type = 3) 
    -> AttendeeCollection (Abstract) 
     -> Team   (Type = 4) 
     -> Group   (Type = 5) 
    -> Person    (Abstract) 
     -> Student  (Type = 1) 
     -> Docent   (Type = 2) 

ответ

0

Ну, я понял, что проблема. Объект Person отобразил скалярные свойства и ассоциации. Ассоциации, где проблема. Потому что они могут быть двух типов. Я не мог писать в состоянии для них, потому что они могли отображать два свойства. Поэтому я удалил скалярные свойства и сопоставление таблиц для класса Person вообще.

После этого я реализовал частные версии этих скалярных свойств в классе Docent en Student. И выставил их через частичную реализацию. Где я добавил их как абстрактные в класс Person.

Надеюсь, это ясно и помогает кому-то еще. Возможно, кто-то еще может записать его более разборчиво.

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