Rumah > pembangunan bahagian belakang > C++ > Bagaimana cara kumpulan data dengan pelbagai lajur menggunakan LINQ?

Bagaimana cara kumpulan data dengan pelbagai lajur menggunakan LINQ?

Susan Sarandon
Lepaskan: 2025-01-31 15:36:14
asal
861 orang telah melayarinya

How to Group Data by Multiple Columns Using LINQ?

Linq menggunakan LINQ mengikut pelbagai kumpulan data kumpulan

Dalam SQL, anda boleh menggunakan Kumpulan dengan klausa berdasarkan pelbagai lajur. Ini membolehkan anda mengagregatkan data berdasarkan gabungan unik lajur yang ditentukan.

LINQ menyediakan mekanisme pengelompokan yang sama dengan kaedah lanjutan GroupBy. Walau bagaimanapun, tidak seperti SQL, LINQ memproses objek, yang memerlukan cara untuk mengenal pasti piawaian kumpulan.

Untuk menekan pelbagai lajur di LINQ, anda boleh menggunakan jenis tanpa nama untuk mewakili kekunci kumpulan. Jenis Anonymous adalah jenis sementara dan tidak dinamakan yang membolehkan anda mengumpulkan objek berdasarkan sekumpulan atribut yang diketahui.

Pertimbangkan pertanyaan SQL berikut:

Untuk menukar pertanyaan ini ke Linq, anda boleh menggunakan jenis tanpa nama, seperti yang ditunjukkan di bawah:
SELECT * FROM <table> GROUP BY <column1>, <column2>
Salin selepas log masuk

Kod ini dibayar kepada baris dalam jadual berdasarkan nilai lajur1 dan lajur2. Pembolehubah kumpulan yang dihasilkan adalah Igrouping & lt;
var groupedData = table.GroupBy(x => new { x.Column1, x.Column2 });
Salin selepas log masuk

maka anda boleh melelehkan kumpulan ini dan agregat data seperti yang diperlukan, yang serupa dengan kaedah yang anda lakukan dalam SQL:

Kod ini akan dicetak Kunci Kumpulan (jenis tanpa nama dengan nilai Column1 dan Column2) dan setiap baris dalam setiap kumpulan.
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}");
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana cara kumpulan data dengan pelbagai lajur menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan