我想使用Nhibernate发出select from (subquery_with_temporary_table)
请求。问题是,它似乎是唯一可用于制作查询服务器端的选项。
我需要像这样的人:
SELECT * from IdTable1.Id, IdTable2.Id, Average(Max(Column1) - Min(Column2))
From IdTable1, IdTable2
GROUP BY IdTable1.Id, IdTable2.Id
SQL不允许执行嵌套聚合函数,下一个解决方案可以正常工作:
SELECT AVG(max - min) FROM
(SELECT * from IdTable1.Id, IdTable2.Id, Max(Column1)as max, Min(Column2)as min
From IdTable1, IdTable2
GROUP BY IdTable1.Id, IdTable2.Id)
我对这个子查询没有强烈的偏好,但是我真的想避免拉出额外的数据服务器端,因为表非常庞大(记录的数量)
使用NHibernate QueryOver解决此问题的最佳方法是什么? (避免SQL和HQL是项目的约定)