Example #1
0
        public ExeResEdm GetListByPage(string tableName, PageSerach <T> para, DBOperUser dbLogMsg = null)
        {
            var orderByStr = LambdaToSqlHelper <T> .GetSqlFromLambda(para.OrderBy).OrderbySql;

            string whereSql = !string.IsNullOrEmpty(para.StrWhere) ? para.StrWhere : LambdaToSqlHelper <T> .GetWhereFromLambda(para.Filter, DBStoreType.NoSelect);

            SearchParam searchParam = new SearchParam()
            {
                Orderby = orderByStr, PageIndex = para.PageIndex, PageSize = para.PageSize, TableName = tableName, StrWhere = whereSql,
            };
            ExeResEdm res    = GetDTByPage(searchParam);
            int       curNum = 0;

            if (res.ErrCode == 0)
            {
                List <T> list = DtModelConvert <T> .DatatableToList((res.ExeModel as DataTable));

                res.ExeModel = list.AsQueryable();
                curNum       = list.Count();
                res.ExeNum   = searchParam.TotalCount;
            }
            WriteLogMsg(dbLogMsg, LogType.查询, "根据[" + DtModelConvert <T> .SerializeToString(searchParam) + "]获取了分页数据,返回了"
                        + curNum + "/" + searchParam.TotalCount + "条记录", tableName);
            return(res);
        }
Example #2
0
            public static int GetAllVisitNumWhenInit()
            {
                int    sysID    = (int)LogCom.GetSystemID();
                string serverIP = ClientServerInfo.ClientInfo.GetServerIPHost().IP;
                PageSerach <Log_SystemMonitor> baseSerach = new PageSerach <Log_SystemMonitor>()
                {
                    Filter    = a => (int)a.SystemID == sysID && a.ServerIP == serverIP && a.AllVisitors > 0,
                    OrderBy   = a => a.OrderByDescending(m => m.AllVisitors),//OrderBy = a => a.OrderByDescending(m => m.LogTime), 使用LogTime排序得到的结果不准确
                    PageIndex = 1,
                    PageSize  = 5
                };
                var dbAccessFac = new Log_SystemMonitorDBAccessFac().DBAccessFactory();
                var res         = dbAccessFac.GetAll(baseSerach);

                if (res.ErrCode != 0)
                {
                    LogCom.WriteExceptToFile(res.ExBody, res.ErrMsg + "," + res.Module);
                    return(0);
                }
                try
                {
                    var maxNum = (res.ExeModel as IQueryable <Log_SystemMonitor>).Max(a => a.AllVisitors);
                    return(maxNum);
                }
                catch { }
                return(0);
            }
Example #3
0
        public ExeResEdm GetListByPage(string tableName, PageSerach <T> para)
        {
            var orderByStr = LambdaToSqlHelper <T> .GetSqlFromLambda(para.OrderBy).OrderbySql;

            string whereSql = !string.IsNullOrEmpty(para.StrWhere) ? para.StrWhere : LambdaToSqlHelper <T> .GetWhereFromLambda(para.Filter, DataBaseType.NoSelect);

            SearchParam searchParam = new SearchParam()
            {
                Orderby = orderByStr, PageIndex = para.PageIndex, PageSize = para.PageSize, TableName = tableName, StrWhere = whereSql,
            };
            ExeResEdm res = GetDTByPage(searchParam);

            para.StrWhere = whereSql;
            if (res.ErrCode == 0)
            {
                List <T> list = DtModelConvert <T> .DatatableToList((res.ExeModel as DataTable));

                res.ExeModel = list.AsQueryable();
                return(res);
            }
            else
            {
                return(res);
            }
        }
Example #4
0
        public ExeResEdm GetAll(PageSerach <T> para)
        {
            if (para == null)
            {
                return(new ExeResEdm()
                {
                    ErrCode = 1, Module = "GetAll-EFBaseDal", ErrMsg = "参数不能为空"
                });
            }
            IQueryable <T> query   = this.DbSet;
            var            filter  = para.Filter;
            var            orderBy = para.OrderBy;

            if (filter != null)
            {
                query = query.Where(filter);
            }

            if (para.IncludeProps != null && para.IncludeProps.Count > 0)
            {
                foreach (var item in para.IncludeProps)
                {
                    //要先判断是否有此导航属性
                    query = query.Include(item);
                }
            }

            if (orderBy != null)
            {
                query = orderBy.Compile()(query);
            }

            int total = query.Count();

            return(new ExeResEdm()
            {
                ExeModel = query
            });
        }
Example #5
0
        //获取分页数据
        public ExeResEdm GetAll(PageSerach <T> para, DBOperUser dbLogMsg = null)
        {
            var data = baseDB.GetListByPage(tableName, para, dbLogMsg);

            return(data);
        }
Example #6
0
        public ExeResEdm GetAll(PageSerach <T> para)
        {
            var data = baseDB.GetListByPage(tableName, para);

            return(data);
        }