0

我正在尝试在 nhibernate 中使用 QueryOver 从父集合中选择子代。这就是我在 HQL 中尝试做的事情:

SELECT as_kitten FROM Cat as_Cat 
JOIN as_Cat.Kittens as_kitten 

这如何转化为 QueryOver 甚至使用 JoinAlias?

IList<Kitten> kittens =  session.QueryOver<Cat>()
        .JoinQueryOver<Kitten>(c => c.Kittens)
        .Select(??)
        .List()

到目前为止我能找到的最接近的东西是NHibernate QueryOver

干杯

编辑 假设这是一种单向关系,即。小猫不知道猫

4

1 回答 1

0

你的例子似乎相当微不足道。如果您已经拥有父级并且在 cat 实体中将集合映射为一对多,那么如果您延迟加载,您所要做的就是访问该集合。

如果你只有父母的 id,你可以很容易地做这样的事情,甚至不需要加入:

IList<Kitten> kittens =  session.QueryOver<Kitten>()
        .Where(k => k.CatId == <parent cat id here>)
        .List<Kitten>()
于 2011-07-22T11:20:59.433 回答