+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2007
    Messages : 21
    Points : 9
    Points
    9

    Par défaut Entity Framework et Multiple Heritage

    Bonjour,
    J'ai besoin d'utiliser EF avec de nombreux héritages complexes en TPH. Avant de me casser les dents à le mettre dans mon logiciel, j'ai fais un projet à part avec des classes (beaucoup) plus simples :

    Vehicule > Abstract
    IdVehicule : int
    NomProprietaire : String
    Velo : Hérite de vehicule
    Pas de propriété mais contiendra des méthodes
    Motorise : Herite de Vehicule > Abstract
    Consommation : float
    DateMiseCirculation : date
    Moto : Hérite de motorise
    Pas de propriété mais contiendra des méthodes
    Voiture : Hérite de motorise
    Type : String (SUV, berline, etc.)
    Scooter : Herite de motorise
    Pas de propriété mais contiendra des méthodes
    Ma table en bdd (SQL SERVER 2008) est :
    IdVehicule : int PK
    NomProprietaire : varchar(50)
    Consommation : float
    DateMiseCirculation : date
    Type : varchar(50)
    Discriminator : varchar(10)
    Je pars du principe que si Discrimator permet de faire la différence entre mes entités.
    Dans mon EDMX j'ai les classes Motorise et Vehicule qui sont absract et sans condition. J'ai les classes Velo, scooter, moto et voiture se basent sur Dicscrimator avec chacun une valeur différentes.

    Cependant, quand je compile j'ai l'erreur suivante :
    Error 3032: Problem in mapping fragments starting at lines 78, 85:EntityTypes EF4InheritanceModel.Scooter, EF4InheritanceModel.Moto, EF4InheritanceModel.Voiture, EF4InheritanceModel.Velo are being mapped to the same rows in table Vehicule. Mapping conditions can be used to distinguish the rows that these types are mapped to.
    Si quelqu'un a une idée d'où cela peut venir, je suis preneur.

    Merci d'avance.

  2. #2
    Invité régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2007
    Messages : 21
    Points : 9
    Points
    9

    Par défaut

    Pas d'idée ?
    Si besoin je peux ajouter plus de précision.
    Merci d'avance.

  3. #3
    Invité
    Invité(e)

    Par défaut

    Tu es sûr d'avoir bien appliqué ce que dit VS à savoir :
    Mapping conditions can be used to distinguish the rows that these types are mapped to.
    Sinon mets-nous une capture d'écran du mappaging effectué pour ces différentes entités ?

  4. #4
    Invité régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2007
    Messages : 21
    Points : 9
    Points
    9

    Par défaut

    Salut,
    Oui, j'ai une condition pour chaque entité sauf pour les entités abstract (Vehicule et Motorise). La valeur est différente pour chaque élément
    Si je mets tout de même une condition avec une valeur lambda sur j'ai l'erreur suivante :
    Error 3034: Problem in mapping fragments starting at lines 90, 98:An entity is mapped to different rows within the same table. Ensure these two mapping fragments do not map two groups of entities with overlapping keys to two distinct groups of rows.
    J'ai essayé dans ce cas de mettre la propriété abstract à false pour les entités Motorise et Vehicle et là ça compile. Mais dans mon cas, elles doivent être abstract.

    Merci d'avance.

  5. #5
    Invité régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2007
    Messages : 21
    Points : 9
    Points
    9

    Par défaut

    Personne n'a une idée ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •