Мне нравится Fluent NHibernate, и я думаю, что он достаточно зрелый, если вы собираетесь начать новый проект. Использование его в новом проекте должно позволить проекту Fluent NHibernate продолжать развиваться по мере вашего продвижения. Существует возможность прерывания изменений (как это недавно произошло с отображениями конвенций), но вы должны быть в состоянии справиться с ними. У меня было несколько проблем с отображениями, но проект довольно отзывчив на сообщения об ошибках и в основном работал как ожидалось.
Параметры отображения:
Отображения XML - стандарт NHibernate. Проблемы с обслуживанием хорошо известны, но преимущество заключается в том, что у вас есть доступ ко всем параметрам конфигурации, предоставляемым NHibernate. Есть несколько менее используемых параметров конфигурации, которые все еще добавляются в Fluent (по крайней мере, в прошлый раз, когда я обратил внимание). Так что, если вы ожидаете каких-то сумасшедших отображений, вы можете рассмотреть этот вариант.
Стандартное картографирование - предоставляется свободно. Вы можете создавать сопоставления с помощью кода, и это намного лучше для рефакторинга и авторинга. По моему опыту, не так много, чтобы сказать об этом, кроме того, что он работает хорошо и является большим улучшением опции xml.
Автоматическое картирование - предоставляется свободно. Позволяет вам отображать свойства объекта в соответствии с соглашением и пытается автоматически создавать сопоставления. Это хорошая идея, но я думаю, что у нее все еще есть зрелость. В настоящее время я использую этот метод сопоставления, и он отлично работает, но я закончил тем, что написал большое количество соглашений и определил объектные отношения, которые, как он чувствует, не спасли много усилий от стандартных сопоставлений.
Fluent NHibernate также предоставляет хороших помощников по тестированию для тестирования ваших сопоставлений и некоторых API-интерфейсов настройки, которые могут упростить настройку NHibernate. В целом, это хороший проект, который предоставляет некоторые приятные дополнительные функции для NHibernate.
редактирование:
Еще одна вещь, на которую следует обратить внимание: если вы начнете с Fluent NHibernate и решите, что он не будет работать для вашего сценария, вы можете легко перейти обратно к сопоставлениям xml. Свободный NHibernate позволяет вам экспортировать сопоставления, которые он создает, и вы можете использовать этот экспорт, чтобы не потерять какую-либо работу по сопоставлению, которую вы уже сделали.