2
考虑以下情形:NHibernate的一个一对多延迟加载工作不正常
A类有一个一对多的关系,以B级 B类有许多一对一关系C类
class A {
IList<B> BList {get;set;}
}
class B {
C CMember{get;set;}
}
class C {
//null
}
如果我使用类似
IList<B> result = query.List<B>();
一切从数据库中加载B类按预期工作,
但是,如果我这样做:
DetachedCriteria query = DetachedCriteria.For(typeof(A));
query.CreateAlias("B", "B", JoinType.InnerJoin);
IList<A> result = query.List<A>();
然后,NHibernate的还将从表C中选择并加载所有铯。
以下映射: 的映射......
<bag name="BList " table="B" lazy="true" inverse="false">
<key column="id" />
<one-to-many class="B" />
</bag>
乙映射...
<many-to-one class="C" name="CMember" column="idC" lazy="proxy" outer-join="true" />
什么想法? 谢谢。
你有你的Hibernate的Session仍然当你试图访问延迟加载的集合打开? – Chris 2010-07-20 00:53:21