C# NHibernate查询

C# NHibernate查询,c#,nhibernate,hql,criteria-api,C#,Nhibernate,Hql,Criteria Api,可以让NHibernate使用HQL或Criteria API生成类似于以下内容的查询吗 select * from ( select row_number() over ( partition by Column1 order by Column2 ) as RowNumber, T.* from MyTable T ) where RowNumber = 1 我可以让它使用formula属性执行内部选择,但我无法找

可以让NHibernate使用HQL或Criteria API生成类似于以下内容的查询吗

select
    *
from (
    select
       row_number() over ( partition by Column1 order by Column2 ) as RowNumber,
       T.*
    from
        MyTable T
)
where
    RowNumber = 1

我可以让它使用formula属性执行内部选择,但我无法找到一种方法来编写HQL或Criteria查询,让我将内部选择封装到外部查询中。

NHibernate 3集成了Linq到NHibernate提供程序,因此您可以编写分页查询,如:

Session.Query<Customer>().Skip(10).Take(10).ToList();
Session.Query().Skip(10.Take(10.ToList());

这应该会有帮助。

当我们需要在查询的形式上如此特殊时,我们只需要使用命名查询来实现它。在分页大型数据集时,我们遇到了这个问题。NHibernate有一个bug。我们使用的是CUSOMSQL方言。也许这会有帮助+1表示用于建议命名查询的Cobusve。