Aplikasi Bersyarat Pengendali Linq
Dalam aplikasi pemapar log, pengguna boleh menapis entri log berdasarkan kriteria seperti pengguna dan keterukan. Untuk melaksanakan penapis ini menggunakan Linq, kami boleh menggunakan klausa di mana secara bersyarat.
Penyelesaian:
Untuk menambah klausa di mana secara bersyarat, kami boleh menggunakan pendekatan berikut:
var logs = from log in context.Logs select log; if (filterBySeverity) logs = logs.Where(p => p.Severity == severity); if (filterByUser) logs = logs.Where(p => p.User == user);
Penyelesaian ini membolehkan kami membina pepohon Expression secara dinamik, menghasilkan pertanyaan SQL yang merangkumi hanya yang diperlukan penapis. Dengan melakukan ini, kami memastikan bahawa SQL yang dibuat dioptimumkan untuk kriteria penapisan khusus, mengelakkan operasi yang tidak perlu.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Memohon LINQ Di Mana Klausa untuk Penapisan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!