Имеет смысл передать объект фильтра в хранилище, чтобы он мог ограничить возвращаемые записи:
var myFilterObject = myFilterFactory.GetBlank();
myFilterObject.AddFilter( new Filter { "transmission", "eq", "Automatic"} );
var myCars = myRepository.GetCars(myfilterObject);
Ключевой вопрос: как бы вы реализовали пейджинг и где? Есть ли ссылки на то, как вернуть LazyList из репозитория, как это будет применяться здесь? Будет ли это частью объекта фильтра? Что-то вроде:
myFilterObject.AddFilter( new Filter { "StartAtRecord", "eq", "45"} );
myFilterObject.AddFilter( new Filter { "GetQuantity", "eq", "15"} );
var myCars = myRepository.GetCars(myfilterObject);
Я предполагаю, что в репозитории должна быть реализована фильтрация, иначе вы получите все записи.