Да, но ...
Уровень вашей гибкости может зависеть от вашей версии NHibernate и от того, как вы строите свой запрос.Например, запрос LINQ (в этом случае управление версиями может иметь значение) не даст вам такой же гибкости, как запрос ICriteria
или HQL.
С API критериев вы можете вызвать .SetFetchMode()
, передавая свойство и требуемый режим для этого запроса.
NHibernate также позволяет создавать проекции, поэтому вы можете создавать экземпляры объектов несопоставленных типов или DTO без сопоставления.Конечно, проекция идет только в одну сторону;если он не нанесен на карту, он не может быть сохранен.