Существует ли стандартный шаблон проектирования или подход, который будет поддерживать специальные запросы в многоуровневом приложении?
Некоторые мотивы для этого вопроса: в моем текущем проекте мы широко используем шаблон IRepository <>на среднем уровне.Используемая нами версия IRepository <> имеет метод FilterBy (), который принимает Expression <> для поддержки произвольных запросов.Но если выражение <> составлено (скажем) на уровне ViewModel, оно будет выражено в терминах DTO (объектов передачи данных) ....
Как избежать того, чтобы пользовательский интерфейс подвергался воздействиюконкретные детали или выполнение «GetAll ()» на уровне базы данных, оборачивая все по мере прохождения через слои, только чтобы отбросить 90% этого на уровне DTO / ViewModel?
Спасибо, Джим