Wie kann ich mit Lambda nach mehreren Spalten gruppieren?
Ich habe Beispiele gesehen, wie man es mit linq für Entitäten macht, aber ich suche nach Lambda-Form.
c#
.net
entity-framework
lambda
Naor
quelle
quelle
GetHashCode
&Equals
Methoden. Sie wurden genau für diese Art von Anwendungsfall entwickelt.GroupBy
gibt ein zurück,IEnumerable<IGrouping<TKey, TSource>>
das im Wesentlichen einIEnumerable<IEnumerable<TSource>>
mit einerKey
Eigenschaft auf der inneren Aufzählung ist. Hilft Ihnen das, die "IEnumerable" der Gruppenelemente zu erhalten?wenn dein Tisch so ist
quelle
Neben der obigen Antwort von Aduchis : Wenn Sie dann basierend auf dieser Gruppe nach Schlüsseln filtern müssen, können Sie eine Klasse definieren, um die vielen Schlüssel zu verpacken.
Wo CustomerGroupingKey die Gruppenschlüssel verwendet:
quelle
quelle
Ich hatte eine Mischung aus der Definition einer Klasse wie Davids Antwort, aber ohne die Notwendigkeit einer Where-Klasse. Es sieht ungefähr so aus:
Wo
resultRecords
ist meine anfängliche Liste, die ich gruppiere, und es ist eineList<ResultCsvImport>
. Beachten Sie, dass die Idee hier ist, dass ich nach 3 Spalten gruppiere, IdObj1 und IdObj2 und IdObj3quelle