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 :

Héritage, obtenir les sous-collections de plusieurs associations many-many


Sujet :

Entity Framework

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut Héritage, obtenir les sous-collections de plusieurs associations many-many
    Bonjour,

    j'ai défini sous Entity Framework un héritage de type "Table-Per-Type".
    J'ai attaché un screenshot du schéma.

    J'aimerais obtenir en une seule requête tous les favoris de mesure et de graphe créés et partagés par un utilisateur ainsi que les tags associés.
    Quelle instruction dois-je utiliser ?

    Merci d'avance,
    Etienne
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    je parviens à obtenir les favoris créés et en lecture d'un utilisateur:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    var user= histoEntities.UtilisateurSet.Include("FavorisCrees").Include("FavorisLecture").Where(u => u.SID == sidUser).FirstOrDefault();

    J'obtiens en résultat l'utilisateur correspondant au SID ainsi que les "Favoris de Tags" et les "Favoris de Graphes" créés et partagés.
    Pour que ce soit complet, j'aimerais pouvoir récupérer dans le même temps les collections de Tags associées aux "Favoris de Tags" et les collection de Traces associées aux "Favoris de Graphes".
    Comment puis-je procéder d'après vous ?

    Merci d'avance,
    Cordialement,
    Etienne

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Bonjour,

    A défaut d'avoir trouvé une solution convenable, j'ai procédé de la manière suivante.
    Dans un premier temps, je récupère l'utilisateur correspondant au SID, ainsi que l'ensemble des favoris qu'il a créé et ceux auquel il a accès en lecture:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Initialisation de la requête de recherche de l'utilisateur connecté
    var query = histoContext.UtilisateurSet
    .Include("FavorisCrees")
    .Include("FavorisLecture")
    .Where(u => u.SID == sidUser);
    usr = query.FirstOrDefault();

    Ensuite, je parcours tous les favoris de type FavoriMesure pour obtenir la collection de tags associée:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Chargement des Favoris de Tags de l'utilisateur authentifié
    foreach (FavoriTag fTag in favoris.OfType<FavoriMesure>())
       histoContext.LoadProperty<FavoriMesure>(fTag, ft => ft.Tags);

    Puis, je parcours tous les favoris de type FavoriTrend pour obtenir la collection de FavoriTrace associée:
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Chargement des Favoris de Trends de l'utilisateur authentifié
    foreach (FavoriTrend fTrend in favoris.OfType<FavoriTrend>())
       histoContext.LoadProperty<FavoriTrend>(fTrend, ft => ft.FavoriTraces);

    C'est un peu dommage de devoir parcourir les collections de Favoris pour charger les Tags et les FavoriTraces mais c'est tout ce que j'ai trouvé de mieux pour le moment.
    N'y aurait-il pas une autre solution selon vous ?

    Merci d'avance,
    Etienne

Discussions similaires

  1. [MCD] Héritage, association entre les sous-types
    Par Sandro Munda dans le forum Schéma
    Réponses: 31
    Dernier message: 26/01/2011, 15h35
  2. Réponses: 2
    Dernier message: 08/10/2010, 11h54
  3. [Reflection] Obtenir les sous-classes d'une classe
    Par El Saigneur dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 11/06/2007, 07h14
  4. obtenir les table que j'ai creer sous oracle 9i
    Par donny dans le forum Oracle
    Réponses: 4
    Dernier message: 16/06/2006, 15h43
  5. [Collections] Mixer plusieurs ArrayList en supprimant les doublons
    Par vallica dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 16/05/2006, 15h01

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