Учитывайте размер вашей команды и проекта при рассмотрении ActiveRecord.
По моему опыту, ActiveRecord - это абстракция поверх NHibernate, которая начинает просачиваться, как решето, при попытке выполнить более сложные сценарии.
Если у вас средняя или очень сложная или непростая схема, придерживайтесь NHibernate. Вы можете нарезать и нарезать кубиками почти до совершенства.
Другое место, где вы можете столкнуться с проблемами, - это когда вам нужен умеренно сложный запрос. ActiveRecord скрывает большую часть реализации NHibernate ... но она вам понадобится для сложного запроса, который станет очень сложным, если вы совершенно не знакомы с HQL. Будьте осторожны, члены команды не просто лезут за края, а не изучают NHibernate и HQL.