1
我們使用ICriteria
現在我們想切換到更具可讀性QueryOver
NHibernate的NHibernate的遷移的ICriteria到QueryOver
有人可以給我一個提示如何將這種通用的分頁邏輯的ICriteria到QueryOver轉換?
public static PagedList<T> PagedList<T>(this ICriteria criteria,
ISession session, int pageIndex, int pageSize) where T : class
{
if (pageIndex < 0)
pageIndex = 0;
var countCrit = (ICriteria)criteria.Clone();
countCrit.ClearOrders(); // so we don’t have missing group by exceptions
var results = session.CreateMultiCriteria()
.Add<long>(countCrit.SetProjection(Projections.RowCountInt64()))
.Add<T>(criteria.SetFirstResult(pageIndex * pageSize).SetMaxResults(pageSize))
.List();
var totalCount = ((IList<long>)results[0])[0];
return new PagedList<T>((IList<T>)results[1], totalCount, pageIndex, pageSize);
}
請讓我們知道您嘗試了什麼以及那個問題是什麼。 –