Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Kaedah `Mengandungi()` LINQ Boleh Menggantikan Klausa `WHERE IN`?

Bagaimanakah Kaedah `Mengandungi()` LINQ Boleh Menggantikan Klausa `WHERE IN`?

DDD
Lepaskan: 2025-01-06 17:53:43
asal
998 orang telah melayarinya

How Can LINQ's `Contains()` Method Replace a `WHERE IN` Clause?

Where IN Klausa dalam LINQ

Apabila bekerja dengan pangkalan data, anda mungkin menghadapi keperluan untuk menggunakan klausa WHERE IN untuk menapis hasil berdasarkan berbilang kriteria. Ini boleh dicapai dengan mudah dalam LINQ (Language Integrated Query) menggunakan kaedah Contains().

Untuk menggambarkan, katakan anda ingin mendapatkan semula semua negeri yang tergolong dalam senarai kod negara tertentu. Daripada membelah kod negara secara manual dan menggelungkannya seperti yang dilihat dalam kod asal:

public List<State> Wherein(string listofcountrycodes)
{
    string[] countrycode = null;
    countrycode = listofcountrycodes.Split(',');
    List<State> statelist = new List<State>();

    for (int i = 0; i < countrycode.Length; i++)
    {
        _states.AddRange(
             from states in _objdatasources.StateList()
             where states.CountryCode == countrycode[i].ToString()
             select new State
             {
                StateName  = states.StateName                    

             });
    }
    return _states;
}
Salin selepas log masuk

Anda boleh memudahkan proses ini menggunakan kaedah Contains():

dataSource.StateList.Where(s => countryCodes.Contains(s.CountryCode))
Salin selepas log masuk

Ungkapan ini mendapatkan semula semua negeri yang kod negaranya terdapat dalam koleksi countryCodes. Ungkapan lambda (s => countryCodes.Contains(s.CountryCode)) menilai kepada benar untuk setiap negeri yang sepadan dengan kriteria yang ditentukan, membolehkan anda menapis hasil dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimanakah Kaedah `Mengandungi()` LINQ Boleh Menggantikan Klausa `WHERE IN`?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan