예제 #1
0
        /// <summary>
        /// 查询分页数据
        /// </summary>
        /// <typeparam name="S"></typeparam>
        /// <param name="whereLambda"></param>
        /// <param name="orderLambda"></param>
        /// <param name="orderType"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public virtual IList <TEntity> FindPageList <S>(Expression <Func <TEntity, bool> > whereLambda, Expression <Func <TEntity, S> > orderLambda, OrderTypeOption orderType, int pageIndex, int pageSize)
        {
            using (var dbContextScope = _dbContextScopeFactory.CreateReadOnly())
            {
                var temp = BasicDal.Find(whereLambda);
                switch (orderType)
                {
                case OrderTypeOption.NONE:
                    break;

                case OrderTypeOption.ASC:
                    temp.OrderBy(orderLambda);
                    break;

                case OrderTypeOption.DESC:
                    temp.OrderByDescending(orderLambda);
                    break;

                default:
                    break;
                }
                temp = temp.Skip(pageSize * (pageIndex - 1)).Take(pageSize);
                return(temp.ToList());
            }
        }
예제 #2
0
        public virtual IList <TEntity> FindList <S>(Expression <Func <TEntity, bool> > whereLambda, Expression <Func <TEntity, S> > orderLambda, OrderTypeOption orderType)
        {
            using (var dbContextScope = _dbContextScopeFactory.CreateReadOnly())
            {
                var temp = BasicDal.Find(whereLambda);

                switch (orderType)
                {
                case OrderTypeOption.NONE:
                    break;

                case OrderTypeOption.ASC:
                    temp.OrderBy(orderLambda);
                    break;

                case OrderTypeOption.DESC:
                    temp.OrderByDescending(orderLambda);
                    break;

                default:
                    break;
                }
                return(temp.AsNoTracking().ToList());
            }
        }