NHibernate полезен, если вам нужно отобразить данные из таблицы базы данных в класс .NET. Даже если вы выполняете только запросы на выборку, это может быть полезно, если вам нужно передать объекты данных на уровень клиента (веб-страницу, настольное приложение и т. Д.) Для отображения. Работать с простыми объектами проще, чем с DataSet или другим классом данных ADO.NET на уровне представления.
NHibernate имеет возможность анализировать / предварительно компилировать запросы, если вы поместите их в файл отображения.