Exemple #1
0
        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 + "%" }));
        }
Exemple #2
0
        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 + "%" }));
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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);
        }