Вот тут возник интересный вопрос по QueryObject — это все же область BLL или DAL.
По сути, сам QueryObject это выражение некоего требования BLL к DAL ("дай мне объекты X по условию Y").
Вот предположим у нас в проекте все BLL Models мапятся в БД как есть. В этом случае QueryObject содержит linq запрос в терминах решаемой задачи. Вроде получается QueryObject принадлежит к BLL.
Теперь прдставим, что DAL (по каким-то причинам) вводит свои DTO и мапит в них BLL Models перед сохранением. Выходит, что в QueryObject должны уже быть linq запросы, где требования бизнес-логики выражены в объектах DAL DTO. Тогда это DAL или BLL?
PS: Что-то мне подсказывает что это будет Infrastructure, т.к. по сути посредник между БД и приложением. В общем, что-то путаться начинаю.
Подскажите как правильно.
PPS: Размышляя далее начинаю приходить к выводу что все же паттерн Repository более универсален, по сравнению с QueryObject. Главное правильно его (Repository) готовить.