Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menggunakan Fungsi Contains() dalam Linq kepada Entiti?

Bagaimana untuk Menggunakan Fungsi Contains() dalam Linq kepada Entiti?

Susan Sarandon
Susan Sarandonasal
2024-10-29 11:14:29576semak imbas

How to Use the Contains() Function in Linq to Entities?

Mengandungi() Penyelesaian Fungsi Menggunakan Linq kepada Entiti

Soalan:

Cara menggunakan fungsi Contains() dalam pertanyaan Linq kepada Entiti, walaupun kekurangan sokongan?

Jawapan:

Kemas kini: Setakat Rangka Kerja Entiti ( EF) versi 4 dan lebih baru, Contains() disokong secara langsung.

Untuk versi EF yang lebih awal, penyelesaian diperlukan:

Kaedah Sambungan Tersuai untuk Contains()

Buat kaedah sambungan berikut:

<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>(
    this ObjectQuery<TEntity> query,
    Expression<Func<TEntity, TValue>> selector,
    IEnumerable<TValue> collection)
{
    // ... (implementation remains the same as in the provided code)
}</code>

Versi Koleksi Statik Pilihan

Secara pilihan, anda boleh mencipta versi yang membenarkan koleksi statik sebagai input:

<code class="csharp">public static IQueryable<TEntity> WhereIn<TEntity, TValue>(
    this ObjectQuery<TEntity> query,
    Expression<Func<TEntity, TValue>> selector,
    params TValue[] collection)
{
    return WhereIn(query, selector, (IEnumerable<TValue>)collection);
}</code>

Penggunaan:

Dengan kaedah sambungan ini, anda boleh menggunakan Contains() dalam pertanyaan Linq kepada Entiti anda seperti berikut:

<code class="csharp">public static void Main()
{
    using (MyObjectContext context = new MyObjectContext())
    {
        // Using method 1 - collection provided as collection
        var contacts1 = context.Contacts.WhereIn(c => c.Name, GetContactNames());

        // Using method 2 - collection provided statically
        var contacts2 = context.Contacts.WhereIn(c => c.Name,
            "Contact1",
            "Contact2",
            "Contact3",
            "Contact4");
    }
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Fungsi Contains() dalam Linq kepada 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