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); }
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); }
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); } }
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 }); }
//获取分页数据 public ExeResEdm GetAll(PageSerach <T> para, DBOperUser dbLogMsg = null) { var data = baseDB.GetListByPage(tableName, para, dbLogMsg); return(data); }
public ExeResEdm GetAll(PageSerach <T> para) { var data = baseDB.GetListByPage(tableName, para); return(data); }