NHibernate не имеет ничего общего с ASP.Net, вы должны попытаться понять обе технологии, отделенные друг от друга.
NHibernate - это инструмент для сохранения и загрузки моделей данных из базы данных.Модель данных должна быть близким представлением к реальному миру и не обязательно соответствовать способу отображения информации, содержащейся в этой модели.
NHibernate работает как в веб-формах ASP.Net, так и в ASP.Net MVC.,Лично я предпочитаю MVC, так как он напоминает природу HTTP без учета состояния, тогда как веб-формы пытаются создать презентацию с сохранением состояния, очень похожую на формы Windows.Поскольку это делается с помощью протокола без сохранения состояния, у него есть свои причуды.Но оба имеют свое применение, и вы должны рассмотреть оба из них, прежде чем принять решение.
Какой бы вариант вы ни выбрали, NHibernate будет работать в фоновом режиме для взаимодействия с базой данных.Чтобы отделить презентацию от слоя данных, вы обычно используете отдельные модели для презентации.Затем эти модели содержат именно то, что нужно знать вашему представлению или веб-форме, в идеале, даже не зная, откуда взялась информация.Вам нужно будет преобразовать ваши модели уровня данных в эти модели представления.Я использую библиотеку AutoMapper для этого.Некоторые шаблоны проектирования, такие как MVC и MVVM, описывают, как добиться разделения между данными, бизнесом и уровнем представления.