你的位置:首页 > 软件开发 > ASP.net > linq分页扩展

linq分页扩展

发布时间:2015-06-21 12:00:07
直接上代码了public static List<T> ToPagedList<T>(this IEnumerable<T> allItems, int pageIndex, int pageSize, Expression<Func&l ...

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, get='_blank'>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;    }

原标题:linq分页扩展

关键词:linq

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。