MVC 3 with NHibernate Pagination

本文关键字:Pagination NHibernate with MVC | 更新日期: 2023-09-27 18:31:36

我找到了一些问题和答案,以及如何使用 NHibernate 进行分页,我有一个代码如下:

public virtual List<T> GetPageResults(int pageIndex, int pageSize)
        {
            using (var session = SessionFactory.OpenSession())
            {
                var returnVal =
                    session.CreateCriteria<T>().SetFirstResult(pageIndex).SetMaxResults(pageSize).Future
                        <T>().OrderByDescending(x => x.Id).ToList();
                return returnVal;
            }
        }

如您所见,我正在使用OrderByDescending进行分页,我想先显示最后一项。这是这样做的好方法吗?

另外,我

可以使用任何框架可以轻松为我提供分页,我看到很多软件包,但除了 SO 问题之外,其中大多数几乎没有文档。

谢谢。

MVC 3 with NHibernate Pagination

您可以使用

QueryOver 编写此查询:

session.QueryOver<T>()
  .OrderBy(t => t.Property).Desc
  .Skip(pageIndex).Take(pageSize)
  .List();