我已经分配给属性后,nhibernate获取延迟加载的集合

时间:2012-05-02 21:16:34

标签: nhibernate fluent-nhibernate queryover

我正在使用QueryOver并急切地加载过滤后的集合,类似于以下内容:

Part partAlias=null;
Session.QueryOver<Car>().JoinQueryOver(x=>x.Parts,()=>partAlias)
.WhereRestrictionOn(()=>partAlias.Id).IsIn(partIds)
.List<Car>();

问题在于,当我引用生成的集合(.Parts)时,它会从数据库中获取并覆盖之前的内容。我正在使用Fluent Nhibernate进行配置。

1 个答案:

答案 0 :(得分:0)

好的,我最终得到了一切。有几个不同的问题。其中一个包括其他关系,这些关系创造了笛卡尔积,导致集合成倍增加。另一个问题,更具体到我的问题,我通过添加连接类型JoinType.LeftOuterJoin解决了这个问题。我在this thread找到了建议。默认是使用内部联接,但这不起作用。连接必须是左外连接。