Как вы можете видеть из вопроса и ответа, который вы связали, вы можете как-то достичь этого, сделав отношения однонаправленными. Поэтому вместо прямого ответа как я собираюсь спросить почему в надежде найти лучшее "как".
Я определенно понимаю, почему вы не всегда хотите, чтобы коллекции извлекались с нетерпением, и именно поэтому NHibernate загружается лениво (и почему NHibernate всегда лениво загружает коллекции, если вы не выполняете предварительную выборку). NHibernate не будет получать эту коллекцию до тех пор, пока вы ее не попросите. Итак, мой вопрос , почему вы хотите, чтобы NHibernate не загружал коллекцию, когда вы над ней работали? Что вы хотите, чтобы NHibernate делал при доступе к дочерней коллекции на вашей сущности?
Обновление:
Вы действительно не ответили на мой вопрос, почему (может быть, я просто упрямый), но хорошо, вы хотите контроля. Ну, самый простой способ удержать NH от выполнения своей работы - это не сказать ему об этом в первую очередь (то есть не отображать это). То есть не отображайте конец «многих» (коллекций) отношений. Вы по-прежнему можете хранить коллекцию в своем классе, но если вы не сказали NHibernate заполнить ее, добавив в файл сопоставления, она никогда не будет. Затем вы можете добавить метод PopulateCollection
где-нибудь, чтобы выполнить запрос NH и сохранить результаты в этой коллекции. Вы теряете всю приятную семантику, которую NHibernate предоставляет для коллекций, потому что он не может отслеживать изменения в ней; вам придется реализовать свои собственные методы Add и Remove.
Итак, в основном ответ Дэвида Кемпа на другой вопрос.