我在查询Foo
。Foo
没有IList<FooBar>
财产(不幸的是)。FooBar
有一个Foo
属性(但不是 a Bar
), Bar 有一个IList<FooBar>
. 我需要Foo
存在 a 的所有 s ,其FooBar
对应Bar
的字段等于今天。Bar
Date
我不是 Criteria API 的真正专家,但使用与否不是我的选择。
编辑:QueryOver
我对API 进行了同样的尝试,并做到了这一点:
var q1 = session.QueryOver<Foo>()
.WithSubquery.WhereExists<Bar>(
session.QueryOver<Bar>()
.Where(b => b.Date == DateTime.Today)
.JoinQueryOver<FooBar>(b => b.FooBars)
.Where(fb => fb.Foo == /*???*/ ))
.List<Foo>();
我写什么代替/*???*/
?