public async Task <BasePageModel <User> > GetListPage(string name) { var pageInfo = new SqlSugarPageInfo() { PageIndex = 1, PageSize = 5 }; var result = await baseDal.QueryConditionPageAsync(null, pageInfo); return(new BasePageModel <User> { Models = result, Total = pageInfo.TotalCount }); }
/// <summary> /// 多表分页查询 /// 根据自定义的实体对象,返回实体对象集合分页数据 /// </summary> /// <typeparam name="T1">实体1</typeparam> /// <typeparam name="T2">实体2</typeparam> /// <typeparam name="T3">实体3</typeparam> /// <typeparam name="T4">实体4</typeparam> /// <typeparam name="T5">实体5</typeparam> /// <typeparam name="T6">实体6</typeparam> /// <typeparam name="T7">实体7</typeparam> /// <typeparam name="T8">实体8</typeparam> /// <typeparam name="TResult">返回实体对象集合分页数据</typeparam> /// <param name="joinExpression"></param> /// <param name="selectExpression"></param> /// <param name="pageInfo"></param> /// <param name="whereExpression"></param> /// <param name="orderMuch"></param> /// <returns></returns> public async Task <List <TResult> > QueryPageMuchEntityAsync <T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, JoinQueryInfos> > joinExpression, TResult selectExpression, SqlSugarPageInfo pageInfo, Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, bool> > whereExpression = null, List <OrderByClause> orderMuch = null) where T1 : class, new() { var query = db.Queryable(joinExpression).WhereIF(whereExpression != null, whereExpression).OrderByIF(orderMuch != null, ParseOrderBy(orderMuch)).Select <TResult>(); RefAsync <int> totalCount = 0; var result = await query.ToPageListAsync(pageInfo.PageIndex, pageInfo.PageSize, totalCount); pageInfo.TotalCount = totalCount; return(result); }
/// <summary> /// 条件分页查询,单表 /// </summary> /// <param name="where">查询条件</param> /// <param name="pageInfo">分页信息</param> /// <param name="orders">排序条件</param> /// <returns></returns> public async Task <List <T> > QueryConditionPageAsync(Expression <Func <T, bool> > where, SqlSugarPageInfo pageInfo, List <SqlSugarOrder <T> > orders = null, bool isClearFilter = false) { var query = db.Queryable <T>(); if (isClearFilter) { query = query.Filter(null, true); } query = query.WhereIF(where != null, where); if (orders != null) { query = orders.Aggregate(query, (current, item) => current.OrderBy(item.OrderExpn, item.IsDesc ? OrderByType.Desc : OrderByType.Asc)); } RefAsync <int> totalCount = 0; var result = await query.ToPageListAsync(pageInfo.PageIndex, pageInfo.PageSize, totalCount); pageInfo.TotalCount = totalCount; return(result); }
/// <summary> /// 多表分页查询 /// 根据自定义的实体对象,返回实体对象集合分页数据 /// </summary> /// <typeparam name="T1">实体1</typeparam> /// <typeparam name="T2">实体2</typeparam> /// <typeparam name="T3">实体3</typeparam> /// <typeparam name="T4">实体4</typeparam> /// <typeparam name="T5">实体5</typeparam> /// <typeparam name="T6">实体6</typeparam> /// <typeparam name="T7">实体7</typeparam> /// <typeparam name="T8">实体8</typeparam> /// <typeparam name="TResult">返回实体对象集合分页数据</typeparam> /// <param name="joinExpression"></param> /// <param name="selectExpression"></param> /// <param name="pageInfo"></param> /// <param name="whereExpression"></param> /// <param name="orderMuch"></param> /// <returns></returns> public async Task <List <TResult> > QueryPageMuchEntityAsync <T1, T2, T3, T4, T5, T6, T7, T8, TResult>(Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, JoinQueryInfos> > joinExpression, TResult selectExpression, SqlSugarPageInfo pageInfo, Expression <Func <T1, T2, T3, T4, T5, T6, T7, T8, bool> > whereExpression = null, List <OrderByClause> orderMuch = null) where T1 : class, new() => await baseDal.QueryPageMuchEntityAsync(joinExpression, selectExpression, pageInfo, whereExpression, orderMuch);
/// <summary> /// 条件分页查询,单表 /// </summary> /// <param name="where">查询条件</param> /// <param name="pageInfo">分页信息</param> /// <param name="orders">排序条件</param> /// <param name="isClearFilter">是否关闭全局过滤器</param> /// <returns></returns> public async Task <List <T> > QueryConditionPageAsync(Expression <Func <T, bool> > where, SqlSugarPageInfo pageInfo, List <SqlSugarOrder <T> > orders = null, bool isClearFilter = false) => await baseDal.QueryConditionPageAsync(where, pageInfo, orders, isClearFilter);