смешивание NHibernate с 3 уровнями разработки

У меня есть трехуровневое приложение: 1-й уровень: БД SQL. 2-й уровень: App Sever (dotnet) 3-й уровень: умный wpf клиент. I '

используя NHibarnate (свободно) в качестве источника данных для уровня сервера приложений (сервер приложений - 2-й уровень общается с БД с использованием NH)

Прикладной уровень общается с клиентом, используя WCF.

Я получаю выгоду от использования NH - так как WCF нене поддерживает ленивую загрузку NH (по крайней мере,Это выглядит так) и - если я использую статический объект сеанса - я должен сделать сервер единственного экземпляра единичным параллелизмом - в противном случае в NH происходит беспорядок, когда происходит более одного вызова одновременно. Если я открываю объект сеанса (NH) для каждого вызова и закрываю его в конце вызова - я теряю кэш 1-го уровня NHibarante ...

Итак, вопрос в том, правильно ли я реализую NH? или это не должно быть эффективным в моем виде проекта?

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

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