我正在尝试在 Oracle DB 上的 NHibernate 中进行分页。但是,即使在 NHibernate 3.3 中,SetFirstResult 和 SetMaxResults 也不起作用(它不可预测并且经常返回零结果)。
我现在尝试在查询中使用“rownum”来做同样的事情。我试过这个:
finalCriteria
.Add(Restrictions.Between(Projections.SqlProjection("rownum", new string[] { "RowNumber" }, new IType[] { NHibernateUtil.Int64 }), rowIndex, rowIndex + pageSize));
但是它不起作用(ORA-00936:找不到表达式)
有什么建议么?
这是我徒劳地使用的方法之一,SetFirst & SetMax
finalCriteria.SetFirstResults(pageIndex* pageSize).SetMaxResults(pageSize)
谢谢!