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
Lepaskan: 2024-10-29 11:14:29
asal
557 orang telah melayarinya

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

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

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

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!

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