Я не могу дать хорошее сравнение, поскольку я на самом деле еще не использовал NHibernate на проекте, но я использовал SubSonic и был очень доволен им. До сих пор я не поразил главных препятствий при использовании его.
Выезд это сообщение от Rob Conery, одного из создателей SubSonic. Он говорит о том, как разъединить Ваш код SubSonic от остальной части приложения. Он даже упоминает то, что эта архитектура позволила бы Вам позже выгрузить SubSonic для некоторого другого уровня доступа к данным, такого как NHibernate или LINQ к SQL.
я знаю, что на самом деле не отвечал на Ваш вопрос, но я надеюсь, что это все еще помогает.
ОБНОВЛЕНИЕ : см. этот ответ , который является актуальным. Первоначальный ответ здесь был для более старой версии IDEA, когда не было автоматической компиляции и представления «Проблемы».