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