Questo è piuttosto semplice, ma sono perplesso: dato questo tipo di set di dati:
UserInfo(name, metric, day, other_metric)
e questo set di dati di esempio:
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
Vorrei recuperare una tabella che elenca le metriche in ordine (0,1,2,3 ..) con il numero totale di volte in cui si verifica il conteggio. Quindi da questo set finiresti con:
0 3
1 2
2 2
3 1
Sono alle prese con la sintassi LINQ ma sono bloccato su dove mettere un groupby e contare .... qualche aiuto ??
Modifica POST: non sono mai stato in grado di far funzionare le risposte pubblicate in quanto restituivano sempre un record con il numero di conteggi diversi. Tuttavia sono stato in grado di mettere insieme un esempio LINQ to SQL che ha funzionato:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
Questo risultato mi ha fornito un set ordinato di record con "metriche" e il numero di utenti associati a ciascuno. Sono chiaramente nuovo di LINQ in generale e al mio occhio non allenato questo approccio sembra molto simile al puro approccio LINQ ma mi ha dato una risposta diversa.