Ich habe ein Objekt wie unten gezeigt
%Vor% In der obigen Aggregation der PgId
-Werte gruppiert nach MsfId
. Dasselbe gilt für DcId
.
Zum Beispiel:
%Vor%Wie schreibe ich eine LINQ-Abfrage, um dies zu aggregieren und eine Liste von SampleObjects wie unten zu erstellen?
%Vor%Szenario 1
%Vor%Szenario 2
%Vor%Szenario 1 Antwort
%Vor%Szenario 2
%Vor%Update: Siehe dotnetfiddle
Sie müssen die Elemente mit einer Abfrage gruppieren. Diese linq-Gruppierung erstellt eine Sammlung von Sammlungen (mit einem Schlüssel)
Ich habe gerade ein funktionierendes Beispiel gemacht:
%Vor%Ergebnisse:
%Vor% Machen Sie alles mit einem GroupBy
, das den geeignete Überlastung. Arbeitsgeige hier.
Beachten Sie die Verwendung von SelectMany
zum Verketten der gruppierte Sammlungen in eins.
Wenn Sie Dubletten aus den Sammlungen entfernen möchten, sollten Sie Distinct()