Как я могу решить этот запрос NHibernate в n-уровневой архитектуре?

Мы постарались отделить NHibernate от уровня моих услуг. Моя архитектура выглядит так:

сеть -> услуги -> репозитории -> nhibernate -> децибел

Я хочу иметь возможность создавать запросы nhibernate из моего уровня сервисов и, возможно, из моего веб-уровня без того, чтобы эти уровни знали, с какой формой они имеют дело. В настоящее время у меня есть метод поиска для всех моих репозиториев, который принимаетIList criteria, Это позволяет мне передать список критериев, таких какnew object() {"Username", usernameVariable}; из любой точки моей архитектуры. NHibernate принимает это и создает новый объект Criteria и добавляет переданные критерии. Это хорошо работает для базового поиска из моего сервисного уровня, но я хотел бы иметь возможность передавать объект запроса, который мой репозиторий переводит в критерии NHibernate.

Действительно, я хотел бы реализовать что-то вроде того, что описано в этом вопросе:Есть ли смысл в абстрагировании критерия nhibernate?, Я'Я просто не нашел хороших ресурсов о том, как реализовать что-то подобное. Является ли метод, описанный в этом вопросе, хорошим подходом? Если да, может ли кто-нибудь дать некоторые советы о том, как реализовать такое решение?

Ответы на вопрос(2)

Ваш ответ на вопрос