【发布时间】:2012-06-25 14:38:15
【问题描述】:
我正在查询Foo。 Foo 没有 IList<FooBar> 属性(很遗憾)。 FooBar 有一个Foo 属性(但不是Bar),Bar 有一个IList<FooBar>。我需要所有Foos,其中存在一个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>();
我在/*???*/的地方写什么?
【问题讨论】:
标签: sql nhibernate nhibernate-criteria queryover