Apabila menggunakan LINQ ke SQL, adalah penting untuk memahami perbezaan antara
dan. Select
Ia digunakan untuk mengambil satu elemen dari set data, dan SelectMany
hasil pertanyaan yang digunakan untuk meratakan set bersarang. Select
SelectMany
Contoh berikut akan menjelaskan perbezaan antara kedua -dua lebih jelas:
Dengan mengandaikan kita mempunyai kelas
yang mengandungi atribut, yang mengembalikan satu set contoh Person
. Untuk mendapatkan semua nombor telefon semua kakitangan, kita boleh menggunakan PhoneNumbers
: PhoneNumber
Select
<code class="language-csharp">IEnumerable<Person> people = new List<Person>(); // Select: 返回一个电话号码列表的列表 IEnumerable<IEnumerable<PhoneNumber>> phoneLists = people.Select(p => p.PhoneNumbers);</code>
phoneLists
Di samping itu, jika kita mahu memasukkan data bapa SelectMany
hasilnya, kita boleh menggunakan beban berat
<code class="language-csharp">// SelectMany: 将集合扁平化为一个电话号码列表 IEnumerable<PhoneNumber> phoneNumbers = people.SelectMany(p => p.PhoneNumbers);</code>
Person
dengan memahami perbezaan antara dan SelectMany
, anda dapat mengendalikan data secara berkesan dalam pertanyaan LINQ ke SQL untuk mengambil semula dan mengagregatkan maklumat yang diperlukan dengan tepat.
Atas ialah kandungan terperinci Pilih vs Selectmany di Linq ke SQL: Bilakah saya harus menggunakan yang mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!