如何使用Eager Loading和Detached Criteria获取具有多个初始化集合的对象列表?

时间:2009-06-06 19:55:54

标签: nhibernate activerecord castle-activerecord

我有一个有两个多对多关联的课程。看完之后 AR docs我意识到我可以使用急切加载一次只获得一个集合。那么如何使用eager loading和DetachedCriteria获取每个对象的初始化集合的对象列表呢?

到目前为止......

DetachedCriteria dc = DetachedCriteria.For();
dc.SetResultTransformer(new DistinctRootEntityResultTransformer());
dc.SetFetchMode("ComplaintCause", FetchMode.Eager);
dc.SetFetchMode("InsuranceType", FetchMode.Eager);
dc.SetFetchMode("Applicants", FetchMode.Eager); // MANY-TO-MANY COLLECTION

现在我想获得另一个系列:

dc.SetFetchMode("Insurers", FetchMode.Eager); // THE ADDITIONAL COLLECTION TO EAGER LOAD 

这给了我一个奇怪的笛卡尔积。

如何使用MultiQuery或MultiCriteria获取两个初始化集合的结果?

1 个答案:

答案 0 :(得分:0)

请参阅this article以获取参考,它解释了MultiQuery和MultiCriteria以解决此问题。