Apabila menggunakan pertanyaan LINQ, anda mungkin perlu menjana klausa WHERE secara dinamik berdasarkan input pengguna. Ini boleh dicapai dengan merantai beberapa klausa WHERE bersama-sama, seperti dalam contoh berikut:
KaedahGetProductList()
menerima kamus sebagai parameter, yang mewakili satu set keadaan penapis. Kemudian, gunakan klausa where untuk membina pertanyaan LINQ untuk menapis keputusan berdasarkan syarat dalam kamus.
Setiap klausa ditambah pada pertanyaan dengan menyemak sama ada kunci yang sepadan wujud dalam kamus. Jika ada, tapis pertanyaan berdasarkan nilai yang dikaitkan dengan kunci itu.
Contoh kod berikut menunjukkan cara melaksanakan kaedah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Anda boleh membuat pertanyaan LINQ yang menyasarkan kriteria carian tertentu dengan menjana klausa WHERE secara dinamik berdasarkan input pengguna. Pendekatan ini memberikan fleksibiliti dan membolehkan penapisan data yang mudah berdasarkan parameter yang ditentukan pengguna. Ambil perhatian bahawa kod ini menganggap bahawa nilai filterDictionary
ialah List<string>
dan nama atribut objek ProductDetail
adalah konsisten dengan nama kunci filterDictionary
. Untuk pemprosesan yang lebih mantap, adalah disyorkan untuk menambah pengendalian pengecualian dan pengesahan nama atribut.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Klausa Dynamic WHERE dalam LINQ untuk Penapisan Data Fleksibel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!