QueryOver Многие ко многим пунктам - PullRequest
2 голосов
/ 14 декабря 2011

У меня есть 2 сущности, связанные через «многие ко многим», которые называются «Родитель и ребенок».

У ребенка есть список родителей,

У родителей есть список детей.

Я пытаюсь сделать запрос в списке родителей, который связан с ребенком.

Концептуально, я ищу что-то вроде этого:

var Query = session.QueryOver<Parent>()

Query.Where(o => o.Children.Contains(child));

Но это не сработает, так как я могу заставить это работать?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 14 декабря 2011

Вам необходимо использовать JoinQueryOver

session.QueryOver<Parent>().JoinQueryOver<Child>(p => p.Childs)
       .Where(c => c.Id == child.Id)
2 голосов
/ 14 декабря 2011
var query = session.QueryOver<Parent>()
    .Where(o => o.Children.Contains(child));

или

var query = session.Query<Parent>()
    .Where(o => o.Children.Contains(child));

или см. Вадим

...