public async Task <PagedQueryResult <User> > PagedQueryAsync(string name, int pageIndex, int pageSize) { PagedQueryOptions opt = new PagedQueryOptions() { PageIndex = pageIndex, PageSize = pageSize, SqlFieldsPart = "[Id],[Name],[Birthday],[Description]", SqlFromPart = "[User]", SqlConditionPart = "[Name] like @Name", SqlOrderPart = "[Birthday] desc,[Id]" }; return(await DbHelper.PagedQueryAsync <User>(opt, new { Name = "%" + name + "%" })); }
public async Task <PagedQueryResult <User> > PagedQueryAsync(string name, int pageIndex, int pageSize) { PagedQueryOptions opt = new PagedQueryOptions() { PageIndex = pageIndex, PageSize = pageSize, SqlFieldsPart = "`Id`,`Name`,`Birthday`,`Description`", SqlFromPart = "`User`", SqlConditionPart = "`Name` like @Name", SqlOrderPart = "`Birthday` desc,`Id`" }; return(await DbHelper.PagedQueryAsync <User>(opt, new { Name = "%" + name + "%" })); }
/// <summary> /// 分页查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="options">分页查询参数</param> /// <param name="param">条件对象</param> /// <param name="buffered"></param> /// <param name="commandTimeout"></param> /// <returns></returns> public virtual PagedQueryResult <T> PagedQuery <T>(PagedQueryOptions options, object param = null, bool buffered = true, int?commandTimeout = default(int?)) { PagedQueryResult <T> result = new PagedQueryResult <T>(); result.PageIndex = options.PageIndex; result.PageSize = options.PageSize; if (options.PageIndex == 0 || options.AlwayQueryCount) { var countSql = SQLBuilder.BuildQueryCountSql(options.SqlFromPart, options.SqlConditionPart, options.SqlGroupPart); result.Total = this.ExecuteScalar <long>(countSql, param, commandTimeout); } var sql = SQLBuilder.BuildPagedQuerySql(options); LogDebug($"PagedQuery generate SQL: {sql}"); result.Data = this.Query <T>(sql, param, buffered, commandTimeout).ToList(); return(result); }
/// <summary> /// 分页查询 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="options">分页查询参数</param> /// <param name="param">条件对象</param> /// <param name="commandTimeout"></param> /// <returns></returns> public virtual async Task <PagedQueryResult <T> > PagedQueryAsync <T>(PagedQueryOptions options, object param = null, int?commandTimeout = default(int?)) { PagedQueryResult <T> result = new PagedQueryResult <T>(); result.PageIndex = options.PageIndex; result.PageSize = options.PageSize; if (options.PageIndex == 0 || options.AlwayQueryCount) { var countSql = SQLBuilder.BuildQueryCountSql(options.SqlFromPart, options.SqlConditionPart, options.SqlGroupPart); result.Total = await this.ExecuteScalarAsync <long>(countSql, param, commandTimeout); } var sql = SQLBuilder.BuildPagedQuerySql(options); LogDebug($"PagedQueryAsync generate SQL: {sql}"); var data = await this.QueryAsync <T>(sql, param, commandTimeout); result.Data = data.ToList(); return(result); }