Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggunakan Setara Klausa WHERE IN dengan Cekap dalam LINQ?

Bagaimanakah Saya Boleh Menggunakan Setara Klausa WHERE IN dengan Cekap dalam LINQ?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-06 16:49:44736semak imbas

How Can I Efficiently Use a WHERE IN Clause Equivalent in LINQ?

Where IN Klausa dalam LINQ (Penyelesaian Diperbaiki)

Dalam SQL, klausa WHERE IN digunakan untuk menyemak sama ada medan sepadan dengan sebarang nilai daripada senarai. Anda boleh mencapai kefungsian yang serupa dalam LINQ menggunakan pendekatan yang dipertingkatkan berikut.

public List<State> Wherein(string listofcountrycodes)
{
    string[] countryCode = listofcountrycodes.Split(',');
    var states = from states in _objdatasources.StateList()
                 where countryCode.Contains(states.CountryCode)
                 select new State
                 {
                     StateName = states.StateName
                 };
    return states.ToList();
}

Kod ini menggunakan kaedah LINQ Contains untuk menyemak sama ada Kod Negara sesuatu negeri sepadan dengan sebarang nilai dalam tatasusunan Kod negara. Kaedah ToList digunakan untuk menukar pertanyaan keadaan kepada senarai konkrit.

Penjelasan:

  • Klausa from mentakrifkan julat elemen untuk pertanyaan, dalam kes ini StateList objek _objdatasources.
  • Fasal where menapis hasil berdasarkan condition countryCode.Contains(states.CountryCode), yang menyemak sama ada CountryCode bagi keadaan semasa terdapat dalam senarai kod negara.
  • Klausa pilih menayangkan negeri yang dipilih ke dalam senarai baharu objek Negeri, yang mengandungi hanya sifat StateName.
  • Akhir sekali, kaedah ToList menukar pertanyaan LINQ kepada konkrit Senaraikan objek.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Setara Klausa WHERE IN dengan Cekap dalam LINQ?. 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