Linq to nHibernate v3.2 - объединить с несколькими условиями в предложении On - PullRequest
1 голос
/ 19 января 2012

Кто-нибудь знает, как я могу присоединиться к нескольким условиям в 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 голосов
/ 19 января 2012

Проще всего было бы иметь ссылку или коллекцию для детей в родительском классе.

, может быть, может сработать следующее

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;
...