首页 > 学院 > 开发设计 > 正文

linq分页扩展

2019-11-17 02:18:32
字体:
来源:转载
供稿:网友

linq分页扩展

直接上代码了

public static List<T> ToPagedList<T>(this IEnumerable<T> allItems, int pageIndex, int pageSize, ExPRession<Func<T, int>> keySelector)        {            var itemList = allItems.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IEnumerable<T> allItems, int pageIndex, int pageSize, Expression<Func<T, bool>> keySelector)        {            var itemList = allItems.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IEnumerable<T> allItems, int pageIndex, int pageSize, Expression<Func<T, string>> keySelector)        {            var itemList = allItems.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IEnumerable<T> allItems, int pageIndex, int pageSize, Expression<Func<T, DateTime>> keySelector)        {            var itemList = allItems.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IQueryable<T> allItems, int pageIndex, int pageSize, Expression<Func<T,int>> keySelector)        {            var itemList = allItems.OrderBy(keySelector).Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IQueryable<T> allItems, int pageIndex, int pageSize, Expression<Func<T, bool>> keySelector)        {            var itemList = allItems.OrderBy(keySelector).Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IQueryable<T> allItems, int pageIndex, int pageSize, Expression<Func<T, string>> keySelector)        {            var itemList = allItems.OrderBy(keySelector).Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }        public static List<T> ToPagedList<T>(this IQueryable<T> allItems, int pageIndex, int pageSize, Expression<Func<T, DateTime>> keySelector)        {            var itemList = allItems.OrderBy(keySelector).Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();            return itemList;        }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表