【发布时间】:2010-06-30 12:15:11
【问题描述】:
我正在做一个查询,根据 row_number() 对 X 行进行排序并返回 我正在将 NHibernate 与 MSSQL 一起使用,我正在尝试使用 CreateSQLQuery 进行分页,我有这个查询:
select s.*
from(
select distinct release.[stop], survey.SurveyId, survey.Created, survey.CopyOfId, survey.DesignTemplateId, survey.UserId, survey.Template, [Row] = Row_Number() over (order by survey.[SurveyId])
from Survey as survey
inner join Release as release on release.SurveyId = survey.SurveyId
group by survey.SurveyId
, survey.Created
, survey.CopyOfId
, survey.DesignTemplateId
, survey.UserId
, survey.Template
, release.[stop]
) as s
where s.[Row] >= 0 and s.[Row] <= 20
order by s.[stop]
有谁知道如何使用 HQL 或 ICriteria(甚至更好)而不是普通的 SQL 来完成这项工作?这样做的原因是我想要一个与 SQLite 和 MS SQL Server 2005 兼容的查询,这样我就可以使用 .SetMaxResult() og .SetFirstResult()
提前致谢!
【问题讨论】:
标签: c# nhibernate fluent-nhibernate hql icriteria