Gunakan linq untuk kumpulan personid
Dalam contoh ini, matlamat anda adalah untuk mengumpulkan senarai objek orang mengikut atribut personid dan mengambil satu -satunya senarai model kereta untuk semua orang. Untuk tujuan ini, anda boleh menggunakan sambungan GroupBy yang disediakan oleh Linq.
Pertanyaan Linq berikut menunjukkan cara kumpulan personid dan mengekstrak senarai kereta yang berkaitan dengan semua orang:
<code class="language-csharp">var results = from p in persons group p.car by p.PersonId into g select new { PersonId = g.Key, Cars = g.Distinct().ToList() };</code>
Buat semua atribut kereta berdasarkan setiap nilai personid yang unik.
group p.car by p.PersonId
Kaedah memastikan bahawa hanya satu -satunya model kereta yang dikembalikan. Distinct()
atau, anda boleh menggunakan Lookup untuk mengambil semula senarai kereta orang tertentu: Penggunaan:
<code class="language-csharp">var carsByPersonId = persons.ToLookup(p => p.PersonId, p => p.car);</code>
Jika tidak ada ID orang yang ditetapkan dalam kaedah ini, urutan kosong dikembalikan. Pastikan untuk mengembalikan satu -satunya senarai model kereta.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengumpulkan objek orang oleh personid dan mendapatkan model kereta yang unik menggunakan linq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!