Das ist ziemlich einfach, aber ich bin ratlos: Angesichts dieser Art von Datensatz:
UserInfo(name, metric, day, other_metric)
und dieser Beispieldatensatz:
joe 1 01/01/2011 5
jane 0 01/02/2011 9
john 2 01/03/2011 0
jim 3 01/04/2011 1
jean 1 01/05/2011 3
jill 2 01/06/2011 5
jeb 0 01/07/2011 3
jenn 0 01/08/2011 7
Ich möchte eine Tabelle abrufen, in der die Metriken in der Reihenfolge (0,1,2,3 ..) mit der Gesamtanzahl der Zählungen aufgelistet sind. Aus diesem Set würden Sie also Folgendes erhalten:
0 3
1 2
2 2
3 1
Ich beschäftige mich mit der LINQ-Syntax, bin aber nicht sicher, wo ich ein Groupby platzieren und zählen soll ... jede Hilfe?
POST-Bearbeitung: Ich konnte die veröffentlichten Antworten nie zum Laufen bringen, da sie immer einen Datensatz mit der Anzahl der verschiedenen Zählungen zurückgaben. Ich konnte jedoch ein LINQ to SQL-Beispiel zusammenstellen, das funktionierte:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
Dieses Ergebnis gab mir einen geordneten Satz von Datensätzen mit 'Metriken' und der Anzahl der Benutzer, die jedem zugeordnet sind. Ich bin eindeutig neu in LINQ im Allgemeinen und für mein ungeübtes Auge scheint dieser Ansatz dem reinen LINQ-Ansatz sehr ähnlich zu sein, gab mir jedoch eine andere Antwort.