EF Core分页

  1. Skip(3).Take(8) 最好显式指定排序规则
  2. 需要知道满足条件的数据的总条数:
    用IQueryable的复用
    LongCount和Count
  3. 页数:long pageCount = (long)Math.Ceiling(count * 1.0 / pageSize);
cs 复制代码
class Program
{
    static async Task Main(string[] args)
    {
        using (MyDbContext ctx = new MyDbContext())
        {
            PrintPage(1, 1);
        }
    }

    /// <summary>
    /// 打印某页数据
    /// </summary>
    /// <param name="pageIndex">页码(从1开始)</param>
    /// <param name="pageSize">每页数据条数</param>
    static void PrintPage(int pageIndex, int pageSize)
    {
        using (MyDbContext ctx = new MyDbContext())
        {
            IQueryable<Book> books = ctx.Books.Where(o => !o.Name.Contains("计算机"));
            var item = books.Skip((pageIndex - 1) * pageSize).Take(pageSize);
            foreach (Book book in item)
            {
                Console.WriteLine(book.Name);
            }
            long count = books.LongCount();
            long pageCount = (long)Math.Ceiling((double)count / pageSize);
            Console.WriteLine("总页数:" + pageCount);
        }
    }
}
相关推荐
工藤新一OL9 小时前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio
王柏龙1 天前
Asp.net core mvc中TagHelper的GetChildContentAsync和Content区别
mvc·.netcore
编程乐趣2 天前
基于.Net Core开源的库存订单管理系统
.netcore
lgaof65822@gmail.com5 天前
ASP.NET Core Web API 中集成 DeveloperSharp.RabbitMQ
后端·rabbitmq·asp.net·.netcore
爱吃香蕉的阿豪5 天前
在.NET Core API 微服务中使用 gRPC:从通信模式到场景选型
微服务·.netcore·信息与通信·grpc
孤的心了不冷7 天前
【后端】.NET Core API框架搭建(7) --配置使用Redis
数据库·redis·缓存·.netcore
孤的心了不冷7 天前
【后端】Linux系统发布.NetCore项目
.netcore
csdn_aspnet7 天前
在 .NET Core 中创建 Web Socket API
javascript·websocket·.netcore
MoFe17 天前
【.net core】支持通过属性名称索引的泛型包装类
java·开发语言·.netcore