我有两个实体,通过多对多链接称为父母和子女。
在Child,我有一个家长的IList,
在家长中我有一个孩子的IList。
我正在尝试对父母列表进行查询,该列表与孩子有关。
从概念上讲,我正在寻找类似的东西:
var Query = session.QueryOver<Parent>()
Query.Where(o => o.Children.Contains(child));
但是这不起作用,那么我有什么方法可以让它发挥作用呢?
谢谢!
答案 0 :(得分:3)
您需要使用JoinQueryOver
session.QueryOver<Parent>().JoinQueryOver<Child>(p => p.Childs)
.Where(c => c.Id == child.Id)
答案 1 :(得分:2)
var query = session.QueryOver<Parent>()
.Where(o => o.Children.Contains(child));
或
var query = session.Query<Parent>()
.Where(o => o.Children.Contains(child));
或参见Vadim