IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entity Framework Discussion :

Identifier une entité héritée


Sujet :

Entity Framework

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 44
    Points : 49
    Points
    49
    Par défaut Identifier une entité héritée
    Bonjour,

    J'ai un fichier edmx dans lequel j'ai 5 entités qui me posent problème.

    - Une entité abstraite nommée Person qui se trouve être mon entité mère.
    - Une entité abstraite nommée Member qui dérive de Person
    - Une entité nommée Parent qui dérive de Person
    - Une entité nommée Student qui dérive de Member
    - Une entité nommée Teacher qui dérive de Member

    Je souhaiterai savoir comment (dans mon code) je peux connaitre le type spécialisé d'une Person.

    Concrètement, je souhaite à partir d'une liste de Person, obtenir des listes de Parent, Student, Teacher.

    Merci d'avance pour vos réponses

  2. #2
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    Hello,

    Pour ma part, j'utiliserais "is".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ICollection<Person> persons = ...;
    ICollection<Student> students = persons.Where(x => x is Student).ToList();
    ICollection<Parent> parents = persons.Where(x => x is Parent).ToList();
    ICollection<Teacher> teachers = persons.Where(x => x is Teacher).ToList();
    Mais ça, ça fonctionne avec une liste complète récupérée d'Entity Framework. Pour filtrer en amont (au niveau d'EF), je ne sais pas si ça marche.
    "C'est tellement merdique que toute modification est une amélioration !"

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Points : 674
    Points
    674
    Par défaut
    Je sais pas au niveau implémentation ce qui est le mieux (ça doit sans doute être la même chose). Il m'est déjà arrivé d'utiliser la méthode d'extension OfType<>...
    Du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ICollection<Student> students = persons.OfType<Student>.ToList();

  4. #4
    Nouveau membre du Club Avatar de Léonard Labat
    Homme Profil pro
    Consultant .NET
    Inscrit en
    Juillet 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 17
    Points : 33
    Points
    33
    Par défaut
    Le sql généré sera effectivement exactement le même dans les deux cas.

Discussions similaires

  1. [2.x] Conflit d'id entre une entité qui hérite de l'autre?
    Par Laurent001 dans le forum Symfony
    Réponses: 2
    Dernier message: 17/04/2015, 17h59
  2. [DOM] [Xerces] Insertion d'une entité
    Par Traroth dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 19/05/2008, 09h28
  3. Réponses: 4
    Dernier message: 20/02/2008, 13h34
  4. Une entite pas identifiant au sein d une relation
    Par poulping dans le forum Schéma
    Réponses: 6
    Dernier message: 25/05/2006, 14h01
  5. [MCD]Faut-il une Entité Date ?
    Par Francis dans le forum Schéma
    Réponses: 2
    Dernier message: 17/01/2005, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo