我们在复合ID中有关键引用,如下所示
表( “父”); compositeid() .keyreference(E =>的OBJ, “样品”);
这会为父级中的每一行生成单独的obj查询。如何解决这个问题呢 ? 主要是如何在这里控制fetch startegies(内连接)以进行密钥引用?
请帮忙
答案 0 :(得分:-2)
你可以调整keyreferencemapping。最简单的方法是禁用延迟加载
.KeyReference(e => e.Obj, c => c.Not.Lazy());
然而,它将使用select而不是join。但是使用查询NH使用连接
var loaded = session.Query<Parent>()
.Fetch(c => c.Obj)
.ToList();
注意:看起来Linq确实急于提取,而QueryOver却没有。这不起作用
var loaded = session.QueryOver<Parent>()
.Fetch(c => c.Obj).Eager
.List();