Esempio n. 1
0
        /// <summary>
        /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据
        /// </summary>
        /// <param name="pPageIndex">页数</param>
        /// <param name="pPageSize">每页列表</param>
        /// <param name="pOrderBy">排序</param>
        /// <param name="pSortExpression">排序字段</param>
        /// <param name="pRecordCount">列表行数</param>
        /// <returns>数据分页</returns>
        public static List <ProjectTypeInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <ProjectTypeInfo> list = new List <ProjectTypeInfo>();

            Query q = ProjectType.CreateQuery();

            q.PageIndex = pPageIndex;
            q.PageSize  = pPageSize;
            q.ORDER_BY(pSortExpression, pOrderBy.ToString());
            ProjectTypeCollection collection = new  ProjectTypeCollection();

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (ProjectType projectType  in collection)
            {
                ProjectTypeInfo projectTypeInfo = new ProjectTypeInfo();
                LoadFromDAL(projectTypeInfo, projectType);
                list.Add(projectTypeInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }