1

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の質問以外のドキュメントがほとんどありません。

ありがとう。

4

1 に答える 1

1

QueryOverで記述できるこのクエリ:

session.QueryOver<T>()
  .OrderBy(t => t.Property).Desc
  .Skip(pageIndex).Take(pageSize)
  .List();
于 2012-04-20T21:54:29.947 に答える