По моему опыту, каждый "фильтр" на стороне отображается на поле в базе данных.Это упрощает создание фильтра:
var result = db.Table
.Where(t => t.Name.Contains(ddlName.Text))
.Where(t => t.Attribute1.Contains(Attribute1.Text));
.Where(t => t.Attribute2.Contains(Attribute2.Text));
Очевидно, вы можете заменить .Equals()
там, где это имеет смысл, я использовал это в нескольких веб-приложениях с большим успехом.Это становится немного сложнее, когда фильтры, которые вы хотите, не отображаются непосредственно на поля в вашей базе данных, но может быть использован аналогичный подход.