Linq到nHibernate v3.2 - 在On子句中加入多个条件

时间:2012-01-19 08:57:54

标签: linq-to-sql join linq-to-nhibernate

Doe的任何人都知道如何在LINQ to NHIBERNATE中加入多个条件? 加入一个条件看起来像这样:

var Query = from p in Session.Parent
   join c in child on p.id equals c.parent_id
   select p

我的SQL查询是:

Select *
from parent t1
left join Child t2 
    on t1.id = t2.parent_id
    and t2.age > 18

我找到了LINQ to SQL的多个条件的语法,它可以工作(我在LinqPad中尝试过) 但是当我试图在nHibernate中执行这段代码时,我得到了异常: “该方法或操作未实施”。 LINQ to SQL的语法是:

var Query = from p in Session.Parent
    join c in child on p.id equals c.parent_id into pc
    from pcg in pc.Where(c => c.age > 18)
    select p.PigProductid

似乎在LINQ to NHIBERNATE中尚未实现此功能,但是 也许我错了(我希望我是)。

1 个答案:

答案 0 :(得分:0)

最简单的方法是为父类中的子项创建引用或集合。

也许以下可行

var query = from p in Session.Parent
            from c in Session.Child.Where(c => c.age > 18)
            where p.Id == c.parent_id
            select p.PigProductid;