Ini cukup sederhana tapi saya bingung: Mengingat tipe data ini:
UserInfo(name, metric, day, other_metric)
dan kumpulan data sampel ini:
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
Saya ingin mengambil tabel yang mencantumkan metrik secara berurutan (0,1,2,3 ..) dengan jumlah total kali penghitungan terjadi. Jadi dari set ini Anda akan berakhir dengan:
0 3
1 2
2 2
3 1
Saya bergulat dengan sintaks LINQ tetapi saya terjebak di mana harus meletakkan groupby dan menghitung .... ada bantuan ??
Edit POST: Saya tidak pernah bisa mendapatkan jawaban yang diposting untuk bekerja karena mereka selalu mengembalikan satu catatan dengan jumlah hitungan yang berbeda. Namun saya bisa mengumpulkan contoh LINQ to SQL yang berhasil:
var pl = from r in info
orderby r.metric
group r by r.metric into grp
select new { key = grp.Key, cnt = grp.Count()};
Hasil ini memberi saya satu set catatan terurut dengan 'metrik' dan jumlah pengguna yang terkait dengan masing-masing. Saya jelas baru di LINQ secara umum dan di mata saya yang tidak terlatih, pendekatan ini tampaknya sangat mirip dengan pendekatan LINQ murni namun memberi saya jawaban yang berbeda.