使用子项的子集合过滤子集合

时间:2009-02-02 16:48:51

标签: c# nhibernate

呃,我想不出更好的头衔。基本上我有一个名为MarketGroups的类,它有一个子集合Markgroups,它有一个MarketTypes集合,而MarketTypes有一个MetaGroup集合。

我希望能够在一个查询中加载Parent,并且只返回在其MetaGroup集合中具有一个特定MetaGroup的MarketTypes的Child MarketGroup。

我知道这个问题:Filter child collection returned with Aggregate Root using Nhibernate我正在寻找的解决方案,我想在代码中理想地将其作为一个查询执行,但我不会介意分裂它。

:)

1 个答案:

答案 0 :(得分:0)

除非您限制默认加载的子项(使用您链接到的方法),否则您必须在一个查询中加载Parent,在另一个查询中加载子项。 AFAIK无法查询对象并且只加载了某些子项。

您可以随时使用MultiQuery提交它们。

HQL之类的东西(这可能会遗漏一些标记):

            select
                mt
            from 
                MarketGroup mg
            inner join
                mg.MarketTypes mt
            inner join
                mt.MetaGroups mg
            where 
               mg.ID=12312 and mg.ID=3214123