这是否可以使用 QueryOver 或 CreateCriteria:
SELECT FooName, SUM(FooAmount)
FROM (
SELECT
(SELECT Name FROM Foo
WHERE Foo.BarId = Bar.Id) as FooName,
FooAmount
FROM Bar
) as inner_query
GROUP BY FooName
请注意,此查询是为演示目的而构建的。我对添加实体之间的关系、重写查询本身等不感兴趣。此外,该应用程序设置为使用 CreateCriteria 来利用查询构造 - 无法将其更改为 HQL。
可以将 NHibernate 中的内部查询构造为分离的条件。问题是让 NHibernate 从内部查询中进行选择,而不是在实体上进行选择。有谁知道这是否可能?