QueryOver много ко многим элементам


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

В ребенке у меня есть список родителей,

В родителе у меня есть список детей.

Я пытаюсь сделать запрос по списку родителей, который связан с ребенком. С концептуальной точки зрения, я ищу что-то вроде этого:
var Query = session.QueryOver<Parent>()

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

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

Спасибо!

2 2

2 ответа:

Вам нужно использовать JoinQueryOver

session.QueryOver<Parent>().JoinQueryOver<Child>(p => p.Childs)
       .Where(c => c.Id == child.Id)
var query = session.QueryOver<Parent>()
    .Where(o => o.Children.Contains(child));

Или

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

Или увидеть Вадима