Bagaimana saya bisa mengelompokkan dengan beberapa kolom menggunakan lambda?
Saya melihat contoh bagaimana melakukannya menggunakan LINQ ke entitas, tetapi saya mencari formulir lambda.
c#
.net
entity-framework
lambda
Naor
sumber
sumber
GetHashCode
& diganti dengan benarEquals
. Mereka dirancang khusus untuk kasus penggunaan semacam ini.GroupBy
mengembalikanIEnumerable<IGrouping<TKey, TSource>>
yang pada dasarnya adalahIEnumerable<IEnumerable<TSource>>
denganKey
properti di dalam enumerable. Apakah itu membantu Anda mendapatkan "IEnumerable" dari item grup?jika meja Anda seperti ini
sumber
Lebih lanjut dari jawaban aduchis di atas - jika Anda kemudian perlu memfilter berdasarkan grup tersebut dengan kunci, Anda dapat menentukan kelas untuk menggabungkan banyak kunci.
Di mana CustomerGroupingKey mengambil kunci grup:
sumber
sumber
Saya datang dengan campuran mendefinisikan kelas seperti jawaban David, tetapi tidak membutuhkan kelas Di mana untuk pergi bersamanya. Itu terlihat seperti:
Di mana
resultRecords
daftar awal saya yang saya kelompokkan, dan itu aList<ResultCsvImport>
. Perhatikan bahwa idenya di sini adalah, saya mengelompokkan menurut 3 kolom, IdObj1 dan IdObj2 dan IdObj3sumber