• sqlserver ef 分页


    sqlserver分页常用的有两种:

    1.利用row_number

    set statistics time on;
    -- 分页查询(通用型)
    select top pageSize * 
    from (select row_number() 
    over(order by sno asc) as rownumber,* 
    from student) temp_row
    where rownumber>((pageIndex-1)*pageSize);
    
    set statistics time on;
    -- 分页查询第2页,每页有10条记录
    select top 10 * 
    from (select row_number() 
    over(order by sno asc) as rownumber,* 
    from student) temp_row
    where rownumber>10;

    2.利用OFFSET   FETCH NEXT 

    这个是sqlserver 2012及以上才能用

    set statistics time on;
    -- 分页查询(通用型)
    select * from student
    order by sno 
    offset ((@pageIndex-1)*@pageSize) rows
    fetch next @pageSize rows only;
    
    -- 分页查询第2页,每页有10条记录
    select * from student
    order by sno  
    offset 10 rows
    fetch next 10 rows only ;

    EF分页:

    query.Skip((pageIndex - 1) * pageSize).Take(pageSize)

    在sqlserver profiler 调试中发现 EF CORE 的分页用的是 第二种OFFSET   FETCH NEXT 。

  • 相关阅读:
    关于c语言的左移运算
    如何修改mac的root密码
    LaTeX语法笔记
    texlive测试是否安装成功
    latex学习(四)tlmgr
    latex学习(三)
    latex学习(二)
    Latex学习(一)
    引导修复软件boot-repair
    MySQL远程连接和备份还原
  • 原文地址:https://www.cnblogs.com/hpbkin/p/13808385.html
Copyright © 2020-2023  润新知