pageSize:每頁的記錄數大小 pageNumber:當前頁碼 allCount:總記錄數
~~~
UserTab user = new UserTab();
OQL qLIST = OQL.From(user).Select().Where(cmpFun).OrderBy(user.UserName, "asc").END;
qLIST.Limit(pageSize, pageNumber);
qLIST.PageWithAllRecordCount = allCount;
EntityQuery<UserTab >.QueryList(qLIST);
~~~
分頁泛型方法
~~~
#region 分頁
/// <summary>
/// 分頁查詢實體列表
/// </summary>
/// <param name="pageSize">每頁數據</param>
/// <param name="curPage">當前頁</param>
/// <param name="recordCount">總記錄數</param>
/// <param name="cmpFunc">條件</param>
/// <param name="orderBy">排序</param>
/// <param name="act">查詢后的實體填充方法</param>
/// <returns></returns>
public static List<T> GetList(int pageSize, int curPage, ref int recordCount, OQLCompareFunc<T> cmpFunc, OQLOrderAction<T> orderBy, Action<T> act = null)
{
T entity = new T();
OQL q = OQL.From(entity).Select().Where<T>(cmpFunc).OrderBy(orderBy).END;
q.Limit(pageSize, curPage);
q.PageWithAllRecordCount = recordCount;
var lst = EntityQuery<T>.QueryList(q);
//第一次查詢時得到真實頁數
if (recordCount == 0)
{
recordCount = q.PageWithAllRecordCount;
}
if (lst.Count > 0 && null != act)
{
lst.ForEach(d => act(d));
}
return lst;
}
#endregion 分頁
~~~