0

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

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

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

4

1 回答 1

0

好的,我最终让一切正常工作。有几个不同的问题。一个是包含其他关系,这些关系创建了导致集合成倍增加的笛卡尔积。另一个问题,更具体到我的问题,我通过将连接类型添加为JoinType.LeftOuterJoin. 我在这个线程上找到了建议。默认是使用内部连接,但它不起作用。连接必须是左外连接。

于 2012-05-03T01:42:22.990 回答