Я только начал использовать NHibernate и fluent-NHibernate, и я думаю, что это здорово. Я настраиваю все свои сопоставления для использования LazyLoading для любых отношений между классами, потому что обычно я считаю, что нет необходимости загружать все заранее. Однако иногда вы знаете на 100%, что будете загружать все отношения или хотя бы одно отношение, и это сэкономит дополнительные соединения, если вы получите данные заранее.
В любом случае вы можете указать NHibernate загрузить данные отношений для отношений и переопределить первоначальную настройку?
Раньше я использовал LinqToSql, для этого я создавал репозитории, которые имели бы перегрузку того, какие элементы должны загружаться в какие отношения, когда это необходимо. Это сработало очень хорошо, поэтому я хотел бы что-то подобное для NHibernate.