NHibernate не следует шаблону активной записи, он следует шаблону репозитория.
Целью FluentNHibernate является необходимость поддержки файлов отображения, генерации кода и т. Д. Он поддерживает свободно определяемые эквиваленты C # файлов NHibernate HBM, которые очень удобны и более удобны в обслуживании, чем XML, однако гораздо более сильным аспектом являются его возможности автоматического сопоставления. Если ваша база данных разработана со строго определенными соглашениями, можно настроить FNH так, чтобы она генерировала правильное отображение всех объектов вашего домена правильно в структуру базы данных.
Если вы более заинтересованы в проектировании базы данных и в том, что она диктует модель вашего домена (это может меня расстроить), здесь есть вопрос, посвященный Генераторам NHibernate
Ответ на ваш комментарий: Сам NHibernate не изменяет саму базу данных, однако в нее включен служебный класс SchemaExport, который предоставляет фабричный метод Create. Вы можете использовать это, чтобы сгенерировать операторы SQL, необходимые для создания вашей базы данных так, как NHibernate видит вашу структуру отношений. И при желании можно либо напрямую работать с базой данных, либо записать в консоль.
Эта утилита очень полезна для прямого создания вашего домена в вашей базе данных, сейчас я пишу свою базу данных для всех моих новых приложений. Я все еще работаю над выяснением лучшего способа поддержки версий базы данных. В худшем случае сценарием будет просто SC SQL-вывода и требуются комментарии для каждой строки, которая изменяет схему, чтобы иметь свои конкретные операторы обновления / удаления для достижения результата. Это позволило бы легко переходить вперед / назад по версии или просто выполнять весь сценарий, чтобы создать БД с нуля.
Если вы идете исключительно для обратного отображения, должны быть доступны инструменты для генерации соответствующего HBM, который ваша база данных должна сопоставить с эквивалентными классами (т. Е. Если бы вы написали эти классы изначально в вашей доменной модели, он экспортировал бы соответствующую схему вашей текущей базы данных)