Это очень очевидный, но хитрый вопрос. Я не смог найти его ответ в Интернете, или мне просто не хватает ключевых слов, которые могли бы найти его ответ.
Допустим, у нас есть много условий, на основе которых мы хотим фильтровать данные. Эти условия в нескольких блоках. Как написать их так, чтобы они работали как AND
предложение, но не OR
, при условии, что они участвуют только в определенных условиях.
var query = _entities.AsQueryable();
if (model.CityId != default)
{
query = query.Where(x => x.CityId == model.CityId);
}
if (!string.IsNullOrWhiteSpace(model.PostalCode))
{
query = query.Where(x => x.Proppostcode == model.PostalCode);
}
if (!string.IsNullOrWhiteSpace(model.AirportCode))
{
query = query.Where(x => x.AirportCode == model.AirportCode);
}
Дайте мне знать, ребята, если этот вопрос требует более подробной информации. Спасибо!