0

que je reçois l'erreur suivante sur ma base de données premier modèle Entity Framework:Deux entités mises en correspondance avec les mêmes lignes

erreur 3032: Problème de fragments de cartographie à partir de lignes 3434, 4312: EntityTypes Modèle. Docent, Model.Student sont mappés aux mêmes lignes dans la table Participant. Les conditions de mappage peuvent être utilisées pour distinguer les lignes auxquelles ces types sont mappés.

Alors que je l'ai déjà ajouté des conditions à ces modèles:

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

Et

<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> 

Leur est une hiérarchie plus complexe, peut-être que le problème est. Mais je ne sais pas comment procéder. Ceci a la hiérarchie:

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

Répondre

0

Eh bien, j'ai compris le problème. L'entité Personne a mappé des propriétés scalaires et des associations. Les associations où le problème. Parce qu'ils pourraient être de deux types. Je ne pouvais pas écrire dans une condition pour eux parce qu'ils pouvaient mapper à deux propriétés. J'ai donc supprimé les propriétés scalaires et le mappage de table pour la classe Person. Après cela, j'ai implémenté des versions privées de ces propriétés scalaires sur la classe Docent en Étudiant. Et les a exposés via une implémentation partielle. Où je les ai ajoutés en tant que résumé à la classe Personne. J'espère que ceci est clair et aide quelqu'un d'autre. Peut-être que quelqu'un d'autre peut l'écrire plus lisible.