Gut*_*tek 6 nhibernate hql queryover
我有一个HQL查询:
select max(l.Num) from SomeTable l group by l.Type, l.Iteration
Run Code Online (Sandbox Code Playgroud)
如何将其翻译/转换为QueryOver?
以下一个:
var grouped = session.QueryOver<SomeTable>()
.SelectList(l => l
.SelectGroup(x => x.Type)
.SelectGroup(x => x.Iteration)
.SelectMax(x => x.Num));
Run Code Online (Sandbox Code Playgroud)
将生成SQL:
SELECT
MAX(l.Num),
l.Type,
l.Iteration
FROM
SomeTable l
GROUP BY
l.Type,
l.Iteration
Run Code Online (Sandbox Code Playgroud)
这不是我所期望的 - 我不想在Select中使用Type和Iteration.
我正在使用该查询作为子查询select z from c where z IN (subquery).
尝试使用此语句,我使用了 Aliases 和 UnderlyingCriteria
SomeTable someTb = null;
var grouped = session.QueryOver<SomeTable>(() => someTb)
.SelectList(l => l.SelectMax(() => someTb.lnum))
.UnderlyingCriteria.SetProjection(
Projections.Group(() => someTb.Type)
,Projections.Group(() => someTb.Iteration))
.List();
Run Code Online (Sandbox Code Playgroud)
我希望它有帮助。
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |