NHibernate 1.x: многие к одному не загружаются лениво - PullRequest
0 голосов
/ 07 декабря 2011

Это фрагмент моего файла сопоставления:

<class name="XXX.A"
         table="a"
         lazy="false">

     <many-to-one name="B"
                  lazy="proxy"
                  access="field.camelcase"
                  cascade="none"
                  not-null="false"
                  class="XXX.B" 
                  column="id_b"/>

 </class>

Но когда A загружается по его идентификатору, я вижу "левое соединение" для получения B.Как это предотвратить?

Могу добавить, что мы используем ISession.Get(...), а не ISession.Load(...).

1 Ответ

1 голос
/ 07 декабря 2011

если у вас есть <class name="XXX.B" lazy="false">, то NHibernate не создает прокси-класс для него. Из-за этого все <many-to-one class="XXX.B" lazy="proxy|true" /> игнорируются, поскольку NH не может создавать прокси-объекты.

Чтобы включить LazyLoading B, удалите lazy="false" или установите <class lazy="true">. Если вы отключили Lazy для классов, потому что не хотите делать каждый метод виртуальным, вы также можете реализовать собственный Proxyclass для обработки LazyLoading

...