Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggunakan Klausa IN dengan Cekap dengan Pertanyaan Atribut dalam Rangka Kerja Entiti?

Bagaimana untuk Menggunakan Klausa IN dengan Cekap dengan Pertanyaan Atribut dalam Rangka Kerja Entiti?

Barbara Streisand
Barbara Streisandasal
2025-01-03 09:39:39470semak imbas

How to Efficiently Use the IN Clause with Attribute Queries in Entity Framework?

Rangka Kerja Entiti: Menggunakan Klausa IN dengan Pertanyaan Atribut

Apabila bekerja dengan Rangka Kerja Entiti (EF), menapis data menggunakan WHERE dan IN klausa boleh membuktikan mencabar. Katakan kita ingin mendapatkan semula baris daripada jadual Lesen berdasarkan nilai lesen tertentu dan senarai nilai nombor yang disimpan dalam tatasusunan.

Pelaksanaan Pertanyaan dalam EF

The mengikuti kod EF menunjukkan cara melaksanakannya pertanyaan:

int[] ids = new int[] { 1, 2, 3, 45, 99 };
using (DatabaseEntities db = new DatabaseEntities())
{
    return db.Licenses.Where(
        i => i.license == mylicense 
           && ids.Contains(i.number)
        ).ToList();
}

Penjelasan

  • Susun atu id mengandungi nilai yang dikehendaki untuk klausa IN.
  • Kaedah Where digunakan untuk menapis jadual Lesen.
  • Syarat pertama (i.license == mylicense) memilih baris berdasarkan pada nilai lesen yang ditentukan.
  • Syarat kedua (ids.Contains(i.number)) menggunakan kaedah Mengandungi tatasusunan untuk menapis baris berdasarkan nilai dalam id.
  • ToList kaedah menukar pertanyaan yang terhasil kepada senarai objek Lesen.

Penyelesaian ini menggabungkan standard WHERE klausa dengan klausa IN, membenarkan penapisan data Rangka Kerja Entiti yang cekap.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Klausa IN dengan Cekap dengan Pertanyaan Atribut dalam Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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