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

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

Patricia Arquette
Patricia Arquetteasal
2024-12-21 21:25:51918semak imbas

How to Use the 'IN' Clause with Attributes in Entity Framework Queries?

Rangka Kerja Entiti: Menggunakan Klausa 'IN' dengan Atribut

Dalam bidang pertanyaan pangkalan data, klausa 'IN' membenarkan penapisan rekod yang cekap berdasarkan set nilai yang telah ditetapkan. Dengan Rangka Kerja Entiti (EF), fungsi ini boleh dimanfaatkan untuk meningkatkan fleksibiliti pengambilan data.

Artikel ini menangani senario biasa: cara membina pertanyaan EF yang menggabungkan dengan lancar kedua-dua 'WHERE' dan 'IN ' fasal. Objektifnya adalah untuk menapis entiti berdasarkan berbilang kriteria medan, termasuk perbandingan 'IN'.

Reka Bentuk Pertanyaan dengan Klausa 'WHERE' dan 'IN'

Mari kita pertimbangkan senario berikut di mana jadual 'Lesen' wujud dengan medan seperti 'lesen' dan 'nombor'. Matlamatnya ialah untuk mendapatkan semula semua lesen yang medan 'lesen' bersamaan dengan nilai tertentu dan medan 'nombor' sepadan dengan mana-mana set nilai yang diberikan.

Dalam pertanyaan pangkalan data tradisional, ini akan dinyatakan sebagai:

SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99);

Melaksanakan Pertanyaan dalam EF

Menterjemah ini pertanyaan ke dalam EF memerlukan pemahaman yang tepat tentang sintaksnya. Untuk mencapai matlamat ini, kita boleh menggunakan kaedah 'Mengandungi':

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();
}

Dalam coretan ini:

  • Tatasusunan 'id' memegang nilai yang akan disemak terhadap 'nombor medan '.
  • Kaedah 'Mengandungi' menyemak sama ada medan 'nombor' setiap lesen sepadan dengan mana-mana nilai dalam tatasusunan 'id'.
  • Pertanyaan yang terhasil mendapatkan semula semua lesen yang mana kedua-dua kriteria 'lesen' dan 'nombor' dipenuhi.

Pendekatan ini menyepadukan 'WHERE' dan 'WHERE' dengan lancar. Klausa IN' dalam EF, menyediakan penyelesaian yang mantap untuk menapis entiti berdasarkan berbilang kriteria.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Klausa 'IN' dengan Atribut dalam Pertanyaan 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