/// <summary>
        /// 获得数据列表
        /// </summary>
        /// <returns></returns>
        public static List <MainProjectExecuteInfo> GetList()
        {
            string cacheKey = GetCacheKey();

            //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
            if (CachedEntityCommander.IsTypeRegistered(typeof(MainProjectExecuteInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
            {
                return(CachedEntityCommander.GetCache(cacheKey) as List <MainProjectExecuteInfo>);
            }
            else
            {
                List <MainProjectExecuteInfo> list       = new List <MainProjectExecuteInfo>();
                MainProjectExecuteCollection  collection = new  MainProjectExecuteCollection();
                Query qry = new Query(MainProjectExecute.Schema);
                collection.LoadAndCloseReader(qry.ExecuteReader());
                foreach (MainProjectExecute mainProjectExecute in collection)
                {
                    MainProjectExecuteInfo mainProjectExecuteInfo = new MainProjectExecuteInfo();
                    LoadFromDAL(mainProjectExecuteInfo, mainProjectExecute);
                    list.Add(mainProjectExecuteInfo);
                }
                //生成缓存
                if (CachedEntityCommander.IsTypeRegistered(typeof(MainProjectExecuteInfo)))
                {
                    CachedEntityCommander.SetCache(cacheKey, list);
                }
                return(list);
            }
        }
        /// <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 <MainProjectExecuteInfo> GetPagedList(int pPageIndex, int pPageSize, SortDirection pOrderBy, string pSortExpression, out int pRecordCount)
        {
            if (pPageIndex <= 1)
            {
                pPageIndex = 1;
            }
            List <MainProjectExecuteInfo> list = new List <MainProjectExecuteInfo>();

            Query q = MainProjectExecute.CreateQuery();

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

            collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (MainProjectExecute mainProjectExecute  in collection)
            {
                MainProjectExecuteInfo mainProjectExecuteInfo = new MainProjectExecuteInfo();
                LoadFromDAL(mainProjectExecuteInfo, mainProjectExecute);
                list.Add(mainProjectExecuteInfo);
            }
            pRecordCount = q.GetRecordCount();

            return(list);
        }
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List <MainProjectExecuteInfo> pList, MainProjectExecuteCollection pCollection)
 {
     foreach (MainProjectExecute mainProjectExecute in pCollection)
     {
         MainProjectExecuteInfo mainProjectExecuteInfo = new MainProjectExecuteInfo();
         LoadFromDAL(mainProjectExecuteInfo, mainProjectExecute);
         pList.Add(mainProjectExecuteInfo);
     }
 }
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List< MainProjectExecuteInfo> pList, MainProjectExecuteCollection pCollection)
 {
     foreach (MainProjectExecute mainProjectExecute in pCollection)
     {
         MainProjectExecuteInfo mainProjectExecuteInfo = new MainProjectExecuteInfo();
         LoadFromDAL(mainProjectExecuteInfo, mainProjectExecute );
         pList.Add(mainProjectExecuteInfo);
     }
 }
        /// <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<MainProjectExecuteInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount)
        {
            if(pPageIndex<=1)
            pPageIndex=1;
            List< MainProjectExecuteInfo> list = new List< MainProjectExecuteInfo>();

            Query q = MainProjectExecute .CreateQuery();
            q.PageIndex = pPageIndex;
            q.PageSize = pPageSize;
            q.ORDER_BY(pSortExpression,pOrderBy.ToString());
            MainProjectExecuteCollection  collection=new  MainProjectExecuteCollection();
             	collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (MainProjectExecute  mainProjectExecute  in collection)
            {
                MainProjectExecuteInfo mainProjectExecuteInfo = new MainProjectExecuteInfo();
                LoadFromDAL(mainProjectExecuteInfo,   mainProjectExecute);
                list.Add(mainProjectExecuteInfo);
            }
            pRecordCount=q.GetRecordCount();

            return list;
        }
 /// <summary>
 /// 获得数据列表
 /// </summary>
 /// <returns></returns>
 public static List<MainProjectExecuteInfo> GetList()
 {
     string cacheKey = GetCacheKey();
     //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
     if (CachedEntityCommander.IsTypeRegistered(typeof(MainProjectExecuteInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
     {
         return CachedEntityCommander.GetCache(cacheKey) as List< MainProjectExecuteInfo>;
     }
     else
     {
         List< MainProjectExecuteInfo>  list =new List< MainProjectExecuteInfo>();
         MainProjectExecuteCollection  collection=new  MainProjectExecuteCollection();
         Query qry = new Query(MainProjectExecute.Schema);
         collection.LoadAndCloseReader(qry.ExecuteReader());
         foreach(MainProjectExecute mainProjectExecute in collection)
         {
             MainProjectExecuteInfo mainProjectExecuteInfo= new MainProjectExecuteInfo();
             LoadFromDAL(mainProjectExecuteInfo,mainProjectExecute);
             list.Add(mainProjectExecuteInfo);
         }
       	//生成缓存
         if (CachedEntityCommander.IsTypeRegistered(typeof(MainProjectExecuteInfo)))
         {
             CachedEntityCommander.SetCache(cacheKey, list);
         }
         return list;
     }
 }