Rumah > pembangunan bahagian belakang > C++ > Pilih vs Selectmany di Linq ke SQL: Bilakah saya harus menggunakan yang mana?

Pilih vs Selectmany di Linq ke SQL: Bilakah saya harus menggunakan yang mana?

Barbara Streisand
Lepaskan: 2025-01-28 17:41:12
asal
987 orang telah melayarinya

Select vs. SelectMany in LINQ to SQL: When Should I Use Which?

perbezaan dan senario aplikasi selectmany di linq hingga sql

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 Walau bagaimanapun, mengandungi koleksi setiap senarai nombor telefon, yang mungkin bukan hasil yang kami mahukan. Untuk meratakan data bersarang ini dan dapatkan senarai nombor telefon lengkap, kami menggunakan

:
<code class="language-csharp">IEnumerable<Person> people = new List<Person>();

// Select: 返回一个电话号码列表的列表
IEnumerable<IEnumerable<PhoneNumber>> phoneLists = people.Select(p => p.PhoneNumbers);</code>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
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