In SQL können Sie die Gruppe nach Klausel basierend auf mehreren Spalten verwenden. Auf diese Weise können Sie Daten basierend auf der eindeutigen Kombination der angegebenen Spalte aggregieren.
lINQ liefert einen ähnlichen Gruppierungsmechanismus mit der Gruppenby -Erweiterungsmethode. Im Gegensatz zu SQL verarbeitet LINQ jedoch Objekte, die eine Möglichkeit erfordert, die Gruppenstandards zu identifizieren.
Um mehrere Spalten in LINQ zu drücken, können Sie den anonymen Typ verwenden, um die Gruppenschlüssel darzustellen. Anonymer Typ ist ein temporärer und unbenannter Typ, mit dem Sie das Objekt basierend auf einer Gruppe bekannter Attribute gruppieren können.
Betrachten Sie die folgende SQL -Abfrage:
Um diese Abfrage in LINQ zu konvertieren, können Sie den anonymen Typ verwenden, wie unten gezeigt:
SELECT * FROM <table> GROUP BY <column1>, <column2>
Dieser Code wird an den Zeilen in der Tabelle basierend auf den Werten von Spalte1 und Spalte2 gezahlt. Die generierten Gruppenvariablen sind iGrouping & lt;
var groupedData = table.GroupBy(x => new { x.Column1, x.Column2 });
Dann können Sie diese Gruppen itererieren und Daten nach Bedarf aggregieren, was der Methode ähnelt, die Sie in SQL:
ausführen:
foreach (var group in groupedData) { Console.WriteLine($"Group key: {group.Key}"); Console.WriteLine("QuantityBreakdown:"); foreach (var row in group) { Console.WriteLine($" - MaterialID: {row.MaterialID}, ProductID: {row.ProductID}, Quantity: {row.Quantity}"); } }
Das obige ist der detaillierte Inhalt vonWie gruppiert ich Daten nach mehreren Spalten mit LINQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!