/// <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<ProjectLevelInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount) { if(pPageIndex<=1) pPageIndex=1; List< ProjectLevelInfo> list = new List< ProjectLevelInfo>(); Query q = ProjectLevel .CreateQuery(); q.PageIndex = pPageIndex; q.PageSize = pPageSize; q.ORDER_BY(pSortExpression,pOrderBy.ToString()); ProjectLevelCollection collection=new ProjectLevelCollection(); collection.LoadAndCloseReader(q.ExecuteReader()); foreach (ProjectLevel projectLevel in collection) { ProjectLevelInfo projectLevelInfo = new ProjectLevelInfo(); LoadFromDAL(projectLevelInfo, projectLevel); list.Add(projectLevelInfo); } pRecordCount=q.GetRecordCount(); return list; }
/// <summary> /// 批量装载 /// </summary> internal static void LoadFromDALPatch(List< ProjectLevelInfo> pList, ProjectLevelCollection pCollection) { foreach (ProjectLevel projectLevel in pCollection) { ProjectLevelInfo projectLevelInfo = new ProjectLevelInfo(); LoadFromDAL(projectLevelInfo, projectLevel ); pList.Add(projectLevelInfo); } }
/// <summary> /// 获得数据列表 /// </summary> /// <returns></returns> public static List<ProjectLevelInfo> GetList() { string cacheKey = GetCacheKey(); //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取 if (CachedEntityCommander.IsTypeRegistered(typeof(ProjectLevelInfo)) && CachedEntityCommander.GetCache(cacheKey) != null) { return CachedEntityCommander.GetCache(cacheKey) as List< ProjectLevelInfo>; } else { List< ProjectLevelInfo> list =new List< ProjectLevelInfo>(); ProjectLevelCollection collection=new ProjectLevelCollection(); Query qry = new Query(ProjectLevel.Schema); collection.LoadAndCloseReader(qry.ExecuteReader()); foreach(ProjectLevel projectLevel in collection) { ProjectLevelInfo projectLevelInfo= new ProjectLevelInfo(); LoadFromDAL(projectLevelInfo,projectLevel); list.Add(projectLevelInfo); } //生成缓存 if (CachedEntityCommander.IsTypeRegistered(typeof(ProjectLevelInfo))) { CachedEntityCommander.SetCache(cacheKey, list); } return list; } }