Этот вопрос был несколько лет назад.
Я просто хотел бы отметить, что для всех, кто работает через него, вы можете выполнять объединения с помощью linq, и это работает. Кроме того, если вы устанавливаете отношения в моделях, которым часто не требуется указывать объединение, nHibernate решает это из полей, которые вы проецируете в набор результатов.