Метод Where
, как и все методы LINQ, не изменяет перечисляемый источник на месте, а вместо этого возвращает новый перечисляемый объект, к которому применена операция или, в данном случае, фильтр. .
Это означает, что вам нужно присвоить результат каждой операции обратно в вашу переменную, чтобы он сохранялся. Следующее должно быть эквивалентно вашему исходному фрагменту:
IQueryable<Person> query = db.Persons;
query = query.Where(p => p.Date == "27.02.2020");
query = query.Where(p => p.Country == "USA");
Как указано в комментариях, тип переменной query
теперь должен быть совместим с типом db.Persons
и тип возврата Where
.