Linq: Group By mit mehren Werten

Um bei einer Seite auf alte News zu greifen zu können, wollte ich eine Liste wie hier im Blog anhand „Monat Jahr“ bekommen. Daher musste ich nach zwei Werten gruppieren, dies geht am einfachsten mit einem anonymen Wertetyp:

            var dateListe = from dateStamps in this.DataList
                             group dateStamps by
                                 new {dateStamps.PostedTime.Year, dateStamps.PostedTime.Month}
                             into g
                                 select new
                                           {
                                               Year = g.Key.Year,
                                               Month = g.Key.Month,
                                               Count = g.Count()
                                           };

Habe mir kurz als Debugmeldung einen String daraus gebastelt:

            foreach (var liste in linkListe)
            {
                ViewData["test"] += "Datum: " + liste.Month + " " + liste.Year + " Anzah: " + liste.Count + "<br />";
            }

Als Rückgabe erhaltet ihr eine Liste:

Datum: 1 2006 Anzah: 1
Datum: 3 2006 Anzah: 2

Damit kann man Arbeiten 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.