Метод Where
является аддитивным, и его многократный вызов добавит несколько условий в запрос, поэтому вам не нужно создавать список условий самостоятельно.
var query = new Query("ship_schedule").Where("Path", path);
foreach(var rule in rules) {
// loop over rules and append them to the query
if(col == null) {
query.WhereNull(col);
} else {
query.Where(q =>
q.Where("Price", "<", rule.Price)
.OrWhere("GoodsType", "=", rule.Type)
)
}
}
Другие способы
с использованием метода When
query.When(condition, q => q.Where(...));
с использованием метода WhereIf
query.WhereIf(condition, "Id", "=", 10);