Tôi hiện đang viết hàm tìm kiếm trong ASP.NET MVC 4 với Entity Framework. Tuy nhiên, tôi đã gặp phải một rào cản mà tôi chỉ có thể tìm thấy các giải pháp "xấu".LINQ to sql query với nhiều tham số
chức năng tìm kiếm của tôi sẽ trở lại một mô hình trong đó bao gồm 4 thông số:
String Name
String Street
String Code
String Province
List<Query> query = (from t in Model select t).ToList();
Bây giờ tôi muốn lọc vào đầu vào tìm kiếm của tôi. Tuy nhiên, người dùng có thể quyết định điền vào nhiều trường tìm kiếm nhất có thể. Anh ta có thể quyết định sử dụng Tên và Đường, hoặc Tên, Đường và Tỉnh, hoặc ...
Giải pháp thực sự duy nhất tôi có thể tìm được bao gồm truy vấn và IQueryable
và kiểm tra xem trường có được điền hay không với số if
, sau đó sử dụng .Where
để cập nhật truy vấn. Vì điều này hiện tại sẽ cung cấp cho các truy vấn m5, tôi tự hỏi liệu có một giải pháp tốt hơn mà tôi đang thiếu ở đây hay không.
Cảm ơn vì đã giúp tôi.
Vâng, đó là giải pháp tôi tìm thấy trực tuyến. Tôi đã tự hỏi có hay không có một cách sạch hơn để mã này. – whodares
Nếu bạn muốn ở lại 'IQueryable'. Sau đó, đây là những gì tôi nghĩ rằng cách để làm điều đó – Arion
Có thể có nhiều mã, nhưng điều này được tối ưu hóa nhất (và có lẽ là tốt nhất). Kiểm tra truy vấn SQL kết quả trong [linqpad] (http://www.linqpad.net/) – mshsayem