/// <summary> ///获取分页数据 /// </summary> /// <param name="pageIndex">页码</param> /// <param name="pageCount">页大小</param> /// <param name="specification">条件</param> /// <param name="orderByExpressions">是否排序</param> /// <returns>实体的分页数据</returns> public PagedList <TEntity> GetPaged(int pageIndex, int pageCount, ISpecification <TEntity> specification, SortExpression <TEntity> orderByExpressions = null) { if (pageIndex == 0) { pageIndex = 1; } var set = GetAllMatching(specification); int totel = set.Count(); IEnumerable <TEntity> items; if (orderByExpressions != null && orderByExpressions.IsNeedSort()) { items = orderByExpressions.BuildSort(set).Skip(pageCount * (pageIndex - 1)).Take(pageCount); } else { items = set.OrderByDescending(item => item.Id).Skip(pageCount * (pageIndex - 1)).Take(pageCount); } return(new PagedList <TEntity>(totel, pageCount, pageIndex, items.ToList())); }