C# NHibernate1.x:多对一不延迟加载

C# NHibernate1.x:多对一不延迟加载,c#,nhibernate,lazy-loading,C#,Nhibernate,Lazy Loading,这是我的映射文件的摘录: <class name="XXX.A" table="a" lazy="false"> <many-to-one name="B" lazy="proxy" access="field.camelcase" cascade="none" not-null="fal

这是我的映射文件的摘录:

<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
被其ID加载时,我看到“left join”来获取
B
。如何预防

我可以补充一点,我们使用
ISession.Get(…)
而不是
ISession.Load(…)
如果您有
,那么NHibernate不会为它创建代理类。因为NH不能创建代理对象,所以所有
都被忽略


要启用懒散加载
B
请删除
lazy=“false”
或设置
。如果您禁用了Lazy for类,因为您不想让每个方法都成为虚拟的,那么您也可以实现自己的Proxyclass来处理LazyLoading

是您的B的实际实例,还是代理对象(根据您的映射应该是代理对象)?它不是代理。但B上不仅有左连接,B.X,B.Y上也有左连接!