Résumé: Comment obtenir top 1 élément ordonnés groupes de donnéesObtenez le premier enregistrement d'un groupe dans LINQ?
Je suis en train de groupe par un champ carid, puis au sein de chaque groupe, je veux trier sur un champ DateTimeStamp descendant. Les données souhaitées seraient pour chaque voiture me donner le dernier DateTimeStamp et seulement 1 dans le groupe.
Je peux arriver à ce point, mais j'ai des problèmes pour retirer le top 1 du groupe et ordonner le groupe par DateTimeStamp desc.
Voici ce que j'ai après la première opération du groupe:
group 1
------------------------
CarId DateTimeStamp
1 1/1/2010
1 1/3/2010
1 3/4/2010
group 2
------------------------
CarId DateTimeStamp
2 10/1/2009
2 1/3/2010
2 9/4/2010
ce que je désirerais que le top 1 dans un groupe ordonné
group 1
------------------------
CarId DateTimeStamp
1 3/4/2010
group 2
------------------------
CarId DateTimeStamp
2 9/4/2010
Brickwall: Où Je me suis arrêté, a besoin de CarId et DateTimeStamp dans la clause group by, afin de trier plus tard par le DateTimeStamp. Peut-être que le tri de la date devrait être fait dans une fonction séparée, pas sûr.
Ça l'a fait! J'ai reçu une exception et j'ai dû utiliser FirstOrDefault() au lieu de First(). Merci! – RyBolt
+1: Parfait. Juste ce dont j'avais besoin (une version du groupement et du premier enregistrement que je peux réellement suivre :) –
merci, je cherchais ceci, j'ai cherché 'groupe sql par dernier enregistrement' mais je n'ai pas trouvé de solution' groupe linq par dernier enregistrement' aidé à venir ici, seul le besoin est, je dois le faire 'tapé' pour 'ViewModel' – stom