これらの public PagedList<PSScript> GetPaged(int pageIndex, int pageSize)
クエリは、先物なしで使用するためにどのように書き直すことができますか (これらの主な理由は、firbird などの他のデータベース用の作業バージョンが必要だからです)。
または、他に興味深いページネーションのチュートリアルがあれば共有してください。
ありがとう
これらの public PagedList<PSScript> GetPaged(int pageIndex, int pageSize)
クエリは、先物なしで使用するためにどのように書き直すことができますか (これらの主な理由は、firbird などの他のデータベース用の作業バージョンが必要だからです)。
または、他に興味深いページネーションのチュートリアルがあれば共有してください。
ありがとう
なしでクエリを簡単に作成できますFutures
。唯一の違いは、データベースへのラウンドトリップが 1 回ではなく 2 回になることです。これがあなたのシナリオでは問題になるとは思いません。
このようなものが動作するはずです:
using (ISession session = NHibernateHelper.OpenSession())
{
var rowCount = session.CreateCriteria<PSScript>()
.SetProjection(Projections.RowCount())
.UniqueResult<Int32>();
var results = session.CreateCriteria<PSScript>()
.SetFirstResult((pageIndex - 1) * pageSize)
.SetMaxResults(pageSize)
.ToList<PSScript>();
return new PagedList<PSScript>(results, pageSize, pageSize, rowCount);
}