Множество where
предложений эффективно объединяются "И-ed" - поэтому, если в вашем списке filterType
есть 5 и 10, вы бы сказали, что Item1
должно быть и 5 , и * 1005.* 10, чего не может быть одновременно.
Я подозреваю, что вы действительно хотите:
query = query.Where(q => filterType.Contains(q.Item1));
Другими словами, где Item1
соответствует один из значения в filterType
.(Вы также можете рассмотреть случай, когда filterType
пусто. Должно ли это совпадать со всем или ничего?)