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);
}
请让我们知道您尝试了什么以及那个问题是什么。 –