Rumah >pembangunan bahagian belakang >C++ >IEnumerable vs. iQuerable: Bilakah saya harus memilih yang mana?
dan pilihan IEnumerable<T>
IQueryable<T>
Apabila menggunakan pertanyaan LINQ, pilih
akan mempunyai kesan yang signifikan terhadap prestasi dan pengambilan data. Kedua -dua antara muka ini berbeza dalam memproses pelaksanaan yang ditangguhkan, yang membolehkan pengoptimuman dan pemprosesan permintaan data yang cekap. IEnumerable<T>
IQueryable<T>
pelaksanaan tertunda: perbezaan kritikal
dan kedua -dua sokongan pelaksanaan yang ditangguhkan, yang bermaksud bahawa pertanyaan tidak akan dilaksanakan dengan segera apabila ia dibuat. Sebaliknya, pertanyaan dinyatakan sebagai ungkapan yang boleh dilakukan pada masa akan datang. Walau bagaimanapun, terdapat perbezaan utama antara setiap pelaksanaan kelewatan pemprosesan antara muka.
IQueryable<T>
: pangkalan data tidak berkaitan dengan pertanyaan IEnumerable<T>
adalah antara muka yang membolehkan pertanyaan LINQ ke SQL, yang membolehkan operasi peringkat tinggi untuk melaksanakan sumber data tanpa perlu memahami pangkalan data yang mendasari. Apabila melakukan pertanyaan dengan , pembekal pertanyaan (untuk LINQ ke SQL, ini adalah enjin pangkalan data) untuk menukar pertanyaan dan menukar kepada penyata SQL yang dioptimumkan.
IQueryable<T>
Pernyataan SQL yang dioptimumkan ini berjalan pada pelayan pangkalan data, dan hanya mengembalikan hasil yang memadankan syarat pertanyaan. Sekiranya perbaikan lebih lanjut diperlukan, pertanyaan baru juga akan dilaksanakan pada pangkalan data, untuk mengekalkan tahap prestasi dan pengoptimuman yang tinggi.
: Operasi dalam Memori IQueryable<T>
IQueryable<T>
Pilih pilihan yang betul
IEnumerable<T>
pilihan dan bergantung kepada keperluan khusus aplikasi.
IQueryable<T>
IEnumerable<T>
pertanyaan yang terlibat dalam pemeriksaan dan pemprosesan dalam memori Atas ialah kandungan terperinci IEnumerable vs. iQuerable: Bilakah saya harus memilih yang mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!