Select
SelectMany
dan Select
boleh menjadi rumit, terutamanya apabila bekerja dengan LINQ ke SQL. Contoh array mudah sering tidak sepenuhnya menangkap implikasi pangkalan data mereka. SelectMany
Select
apabila pertanyaan anda perlu mengekstrak nilai tunggal dari entiti yang berkaitan. Contohnya: Select
<code class="language-csharp">IEnumerable<Person> people = new List<Person>(); var phoneNumbers = people.Select(p => p.PhoneNumber);</code>
dan mengembalikan senarai yang mengandungi hanya sifat Person
mereka. PhoneNumber
SelectMany
adalah penting untuk struktur data "meratakan". Mari kita laraskan contohnya: SelectMany
<code class="language-csharp">var phoneNumbers = people.SelectMany(p => p.PhoneNumbers);</code>
adalah koleksi, PhoneNumbers
menggabungkan semua nombor telefon dari semua orang ke dalam satu senarai. Ini berguna apabila anda memerlukan satu senarai nombor telefon yang bersatu. SelectMany
adalah keupayaannya untuk memasukkan data entiti induk dalam hasilnya. Pertimbangkan ini: SelectMany
<code class="language-csharp">var directory = people .SelectMany(p => p.PhoneNumbers, (parent, child) => new { parent.Name, child.Number });</code>
) dan nombor telefon mereka (parent.Name
), dengan berkesan menyertai data dari kedua -dua peringkat. child.Number
dan Select
dalam tindakan, meneroka demo langsung (pautan ke contoh biola. NET akan pergi ke sini jika disediakan). Pengalaman tangan ini akan memperkuat pemahaman anda tentang pengendali Linq yang kuat ini dalam konteks pangkalan data. SelectMany
Atas ialah kandungan terperinci Bilakah menggunakan Linq's Select vs. SelectMany dalam pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!