【发布时间】:2011-07-06 04:55:21
【问题描述】:
如何将两个子查询与 queryover 与 WithSubQuery 结合起来?我想要下面的东西(确切的语法无关紧要):
query.WithSubquery.WhereValue(QueryOver.Of<Child>()
.Where(m => m.Parent.Id == paretAlias.Id)
.Select(Projections.Max("SomeProp")))
.Lt(QueryOver.Of<Child>(() => childAlias)
.Where(m => childAlias.Id == parentAlias.Id)
.Select(Projections.Max("SomeOtherProp")));
我看不到任何允许我比较两种方法的 WithSubquery 方法。它有
哪里:需要一个 lambda
WhereProperty : 将属性与子查询进行比较
WhereValue : 将值与子查询进行比较
WhereExists : 接受查询。
基本上我想要一个方法,它接受子查询并与另一个子查询进行比较
sql 中的示例输出查询将是:
select * from Parent inner join child on parent.id = child.parentid where
(select max(SomeProp) from child where child.parentid = parent.id) > (select max(SomeOtherProp) from child where child.parentid = parent.id)
【问题讨论】:
-
您能否提供一个示例,说明您希望生成的 SQL 是什么样子?
标签: nhibernate queryover