【发布时间】:2015-09-22 15:49:44
【问题描述】:
我有以下疑问:
ObjectB objectBAlias = null;
ObjectC objectCAlias = null;
var query = session.QueryOver<ObjectA>();
var results = query
.JoinAlias(x => x.listOfBs, () => objectBAlias)
.JoinAlias(x => objectBAlias.ObjectC, () => objectCAlias)
.TransformUsing(new DistinctRootEntityResultTransformer())
.List<ObjectA>();
class ObjectA
{
IList<ObjectB> listOfBs;
}
class ObjectB
{
ObjectA a;
ObjectC c;
}
class ObjectC
{
int x;
}
ObjectA 与 ObjectC 具有many-to-many 关系,其中 ObjectB 是连接表。 ObjectA 有一个 ObjectB 的列表,而 ObjectB 有一个 ObjectC 的比例。我正在尝试加载 ObjectC,但没有成功。
我让所有的 ObjectC 急切加载的唯一方法是这样做:
foreach (ObjectA a in results)
{
foreach (var b in a.listOfBs)
{
NHibernateUtil.Initialize(b.c);
}
}
但这似乎不能很好地扩展。
【问题讨论】:
标签: nhibernate nhibernate-mapping queryover