示例#1
0
        /// <summary>
        /// 执行分页_动态操作
        /// </summary>
        /// <param name="where">查询条件</param>
        /// <param name="orderLambda">排序表达式</param>
        /// <param name="codeOrderType">排序方式</param>
        /// <param name="paging">分页参数</param>
        /// <param name="selectExpression">动态类型</param>
        /// <returns></returns>
        public IPagingBusinessResponse <dynamic> ExecutePage_Dynamic <TKey>(Expression <Func <T, bool> > where, Expression <Func <T, TKey> > orderLambda, CodeOrderType codeOrderType, Paging paging, Expression <Func <T, dynamic> > selectExpression)
        {
            var query = this.GetQueryable(where);

            if (codeOrderType == CodeOrderType.Asc)
            {
                query = query.OrderBy(orderLambda);
            }
            else if (codeOrderType == CodeOrderType.Desc)
            {
                query = query.OrderByDescending(orderLambda);
            }

            var result = new PagingBusinessResponse <dynamic>
            {
                Data = query.Select(selectExpression).Skip((paging.PageIndex - 1) * paging.PageSize).Take(paging.PageSize).ToList()
            };

            paging.Total = query.FutureCount().Value;

            paging.PageSize = paging.PageSize;

            paging.PageIndex = paging.PageIndex;

            result.Paging = paging;

            return(result);
        }
示例#2
0
        /// <summary>
        /// 执行分页
        /// </summary>
        /// <param name="query">查询对象</param>
        /// <param name="paging">分页对象</param>
        public IPagingBusinessResponse <ICollection <T> > ExecutePage(IQueryable <T> query, Paging paging)
        {
            var result = new PagingBusinessResponse <ICollection <T> >
            {
                Data = query.Skip((paging.PageIndex - 1) * paging.PageSize).Take(paging.PageSize).ToList()
            };

            paging.Total = query.FutureCount().Value;

            paging.PageSize = paging.PageSize;

            paging.PageIndex = paging.PageIndex;

            result.Paging = paging;

            return(result);
        }
示例#3
0
        /// <summary>
        /// 执行分页
        /// <para>返回动态对象</para>
        /// </summary>
        /// <param name="query">查询对象</param>
        /// <param name="paging">分页对象</param>
        /// <param name="selectExpression">动态表达式</param>
        public IPagingBusinessResponse <dynamic> ExecutePage_Dynamic(IQueryable <T> query, Paging paging, Expression <Func <T, dynamic> > selectExpression)
        {
            var result = new PagingBusinessResponse <dynamic>
            {
                Data = query.Select(selectExpression).Skip((paging.PageIndex - 1) * paging.PageSize).Take(paging.PageSize).ToList()
            };

            paging.Total = query.FutureCount().Value;

            paging.PageSize = paging.PageSize;

            paging.PageIndex = paging.PageIndex;

            result.Paging = paging;

            return(result);
        }