Heim > Backend-Entwicklung > C++ > Wie gruppiert ich Daten nach mehreren Spalten in LINQ?

Wie gruppiert ich Daten nach mehreren Spalten in LINQ?

DDD
Freigeben: 2025-01-31 15:31:09
Original
268 Leute haben es durchsucht

How to Group Data by Multiple Columns in LINQ?

lINQ Mehrere Gruppengruppen im Detail

In SQL können Sie

Klauseln verwenden, um Daten basierend auf mehreren Spalten zu gruppieren. Zum Beispiel:

GROUP BY

Wie kann ich ähnliche Funktionen in LINQ implementieren?
SELECT * FROM <tablename> GROUP BY <column1>,<column2>
Nach dem Login kopieren

<> Verwenden Sie einen anonymen Typ

Eine Methode besteht darin, einen anonymen Typ zu verwenden. Das Folgende ist ein Beispiel:

Dieser Code wird basierend auf den Attributen der

und
var groupedData = x.GroupBy(x => new { x.Column1, x.Column2 });
Nach dem Login kopieren
der Elemente in der

-Sequenz gruppiert, um einen anonymen Typ für jede eindeutige Kombination von Wert zu erstellen. x Column1 <> Datenbeispiel Column2

Betrachten Sie die folgende Datenstruktur:

und die folgende Einfügeanweisung:

public class QuantityBreakdown
{
    public int MaterialID { get; set; }
    public int ProductID { get; set; }
    public float Quantity { get; set; }
}
Nach dem Login kopieren
Sie können den folgenden Code verwenden, um diese in Linq zu konvertieren:

INSERT INTO @QuantityBreakdown (MaterialID, ProductID, Quantity)
SELECT MaterialID, ProductID, SUM(Quantity)
FROM @Transactions
GROUP BY MaterialID, ProductID
Nach dem Login kopieren
Dieser LINQ -Ausdruck wird nach

und

bezahlt und berechnet dann die Summe des
var groupedTransactions = transactions
    .GroupBy(t => new { t.MaterialID, t.ProductID })
    .Select(g => new QuantityBreakdown
    {
        MaterialID = g.Key.MaterialID,
        ProductID = g.Key.ProductID,
        Quantity = g.Sum(t => t.Quantity)
    });
Nach dem Login kopieren
-Wartwerts jeder Gruppe.

Das obige ist der detaillierte Inhalt vonWie gruppiert ich Daten nach mehreren Spalten in LINQ?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage