Я не верю, что вы можете использовать Criteria для запроса к коллекции в памяти и подумать об этом, кажется, нет особого смысла.Если я все правильно понимаю, вы уже опрашивали свою базу данных.Я бы посоветовал настроить ваш исходный запрос (какой бы метод вы ни выбрали), чтобы включить все ваши фильтры.Или вы можете использовать LINQ (как вы предложили) для уточнения ваших результатов.
Кроме того, что вы думаете о желании сделать запрос из памяти?