Nhibernate 如何将带有Group By的HQL转换为QueryOver?

Nhibernate 如何将带有Group By的HQL转换为QueryOver?,nhibernate,hql,queryover,Nhibernate,Hql,Queryover,我有一个HQL查询: select max(l.Num) from SomeTable l group by l.Type, l.Iteration 如何将其翻译/转换为QueryOver 以下一项: var grouped = session.QueryOver<SomeTable>() .SelectList(l => l .SelectGroup(x => x.Type) .SelectGroup(x => x.Iterati

我有一个HQL查询:

select max(l.Num) from SomeTable l group by l.Type, l.Iteration
如何将其翻译/转换为QueryOver

以下一项:

var grouped = session.QueryOver<SomeTable>()
    .SelectList(l => l
      .SelectGroup(x => x.Type)
      .SelectGroup(x => x.Iteration)
      .SelectMax(x => x.Num));
这不是我所期望的——我不想在Select中使用类型和迭代


我将该查询用作
从c中选择z的子查询,其中z位于(子查询)

尝试使用此语句,我使用了别名和参考标准

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();
SomeTable someTb=null;
var group=session.QueryOver(()=>someTb)
.SelectList(l=>l.SelectMax(()=>someTb.lnum))
.UnderlineCriteria.SetProjection(
Projections.Group(()=>someTb.Type)
,Projections.Group(()=>someTb.Iteration))
.List();

我希望这会有帮助。

@Feber-谢谢,但这行不通。UnderlineCriteria仅允许在QueryOver中使用条件查询。此外,您提供的查询:
选择类型,按类型从某个表组进行迭代,迭代
-不是事件选择最大值。如果仍然无法使用queryover/条件,请参阅
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();