IQueryable简单分页的扩展方法 ,废话不多说,直接上课程中的干货!
IQueryable简单分页的扩展方法 ,废话不多说,直接上课程中的干货!
public static class PagedListExtensions{////// PagedList///////// 1为起始页//////public static async Task> ToPagedListAsync ( this IQueryablequery, int pageIndex,int pageSize,CancellationToken cancellationToken = default){if (pageIndex < 1) throw new ArgumentOutOfRangeException(nameof(pageIndex));int realIndex = pageIndex - 1;int count = await query.CountAsync(cancellationToken).ConfigureAwait(false);var items = await query.Skip(realIndex * pageSize).Take(pageSize).ToListAsync(cancellationToken).ConfigureAwait(false);return new Page(items, pageIndex, pageSize, count); }public static PageToPagedList ( this IQueryablequery, int pageIndex,int pageSize){if (pageIndex < 1) throw new ArgumentOutOfRangeException(nameof(pageIndex));int realIndex = pageIndex - 1;int count = query.Count();var items = query.Skip(realIndex * pageSize).Take(pageSize).ToList();return new Page(items, pageIndex, pageSize, count); }}
////// 分页列表///public class Page{public Page(){}public Page(Listitems, int pageIndex, int pageSize, int totalCount) {PageIndex = pageIndex;PageSize = pageSize;Total = totalCount;PageTotal = (int)Math.Ceiling(totalCount / (double)pageSize);Items = items;}////// 当前页码///public int PageIndex { get; set; }////// 每页记录数///public int PageSize { get; set; }////// 总记录数///public int Total { get; set; }////// 总页数///public int PageTotal { get; set; }////// 分页数据///public ListItems { get; set; } }
《ASP.NET Core WebApi+EF Core入门到实战演练》-学习视频教程-腾讯课堂 https://ke.qq.com/course/2900005?tuin=1929a593
《ASP.NET Core EF Core+Mysql分层开发项目实战》-学习视频教程-腾讯课堂 https://ke.qq.com/course/401579?tuin=1929a593
《ASP.NET Core WebApi+EF Core文件系统上传/下载/浏览实战演练》-学习视频教程-腾讯课堂
https://ke.qq.com/course/2806152?tuin=1929a593

评论
