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

Linq Discussion :

Group by et max sur une liste


Sujet :

Linq

  1. #1
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut Group by et max sur une liste
    Bonjour,

    je dois être idiot ce matin mais je n'arrive pas à me sortir d'un problème malgré mes recherches sur le net.

    J'ai une liste d'objets Application (41 attributs) dont en particulier un identifiant (Id), un numéro de version (Version) et une date de version (DateVersion)

    Je ceux sélectionner pour chaque application la ligne qui contient la date de version maximale.
    Du coup il me semble que le group by avec un max semble la solution
    J'ai créé un objet simple (IntTest, DateTest) pour réaliser cela

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    List<SimpleRefDto> listWithMaxFilter = (from obj in list
                                                   group obj by obj.IDFTCarto into g
                                                     select new SimpleRefDto { IntTest = g.Key, DateTest=g.Max(t => t.VersionDate) }).ToList();
    Seulement, j'aimerais bien réussir à passer directement par mon objet application histoire de pas avoir une autre requête à faire derrière ou un foreach.

    Vous auriez une piste pour moi ?

    Merci
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Essaye ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    List<SimpleRefDto> listWithMaxFilter = (from obj in list
                                                   group obj by obj.IDFTCarto into g
                                                     select new SimpleRefDto { IntTest = g.Key, DateTest=g.VersionDate }).Max(data => data.DateTest).ToList();

  3. #3
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Merci de ta réponse. En fait j'ai enfin eu l'illumination et voilà la réponse :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    List<Application> listWithMaxFilter = (from obj in list
                                                   group obj by obj.IDFTCarto into grp
                                                   select grp.First(p=> p.VersionDate == grp.Max(g => g.VersionDate))).ToList();
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Grouping sur une liste de string
    Par myCollections dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 30/08/2010, 16h40
  2. simuler un double click sur une liste dans un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 1
    Dernier message: 01/09/2005, 10h45
  3. Réponses: 4
    Dernier message: 16/06/2005, 15h37
  4. Selectionnet tous ou faire un clear sur une liste
    Par Canou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/11/2004, 10h26
  5. [Débutant][jsp] évènement sur une liste
    Par phoebe dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 14/05/2004, 10h53

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