3 votes

Comment utiliser Linq pour grouper une liste de commandes par date ?

J'ai une liste de commandes et je veux les grouper par date de création.

La date de création de chaque commande sera "2010-03-13 11:17:16.000".

Comment puis-je faire en sorte qu'ils ne soient regroupés que par date comme "2010-03-13" ?

 var items = orderList.GroupBy(t => t.DateCreated)
 .Select(g => new Order()
 {
     DateCreated = g.Key

 })
 .OrderByDescending(x => x.OrderID).ToList();

Mise à jour : Comment puis-je grouper les commandes par mois ? Et le code suivant n'est pas correct.

var items = orderList.GroupBy(t => t.DateCreated.Month)
 .Select(g => new Order()
 {
     DateCreated = g.Key

 })
 .OrderByDescending(x => x.OrderID).ToList();

Merci beaucoup.

2voto

tvanfosson Points 268301

Utiliser la propriété Date.

var items = orderList.GroupBy( t => t.DateCreated.Date )

2voto

Greg Beech Points 55270

L'utilisation de la .Date ne tiendra pas compte de la composante temporelle, par exemple

var items = orderList.GroupBy(t => t.DateCreated.Date)

0voto

Marcelo Cantos Points 91211

Utilisation t => t.DateCreate.Date .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X