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);
        }
    }
}
相关推荐
周杰伦fans7 小时前
.NET Core WebAPI 中 HTTP 请求方法详解:从新手到精通
网络协议·http·.netcore
睡前要喝豆奶粉2 天前
.NET Core Web API开发需引入的三个基本依赖配置说明
oracle·c#·.netcore
睡前要喝豆奶粉2 天前
.NET Core Web API中数据库相关配置
数据库·c#·.netcore
Archy_Wang_13 天前
Hangfire 入门与实战:在 .NET Core 中实现可靠后台任务处理
c#·.netcore
睡前要喝豆奶粉3 天前
在.NET Core Web Api中使用redis
redis·c#·.netcore
睡前要喝豆奶粉4 天前
多表分页联查——EF Core方式和Dapper方式
c#·.netcore
csdn_aspnet5 天前
.NETCore、.NET 7 和 RabbitMQ 的发布-订阅模式
rabbitmq·.netcore·.net7.
爱吃香蕉的阿豪5 天前
深入理解 .NET Core 中的 IServiceScopeFactory:用法、场景与静态类依赖注入
.netcore
sky-stars5 天前
.NET 泛型编程(泛型类、泛型方法、泛型接口、泛型委托、泛型约束)
c#·.net·.netcore
The Sheep 20236 天前
.NetCoreMVC 开发网页使用sass
.netcore·sass