zoukankan      html  css  js  c++  java
  • P34 翻页(上)






    查询的字符串,本身不属于资源的一部分。如果pageSize传了100万 设置的数值比较大,也会造成性能问题,所以我们在服务器端也要对查询请求的笔数进行控制。如果没传参数,默认查询也应该分页。

    应该是EF Core层进行分页

    开始写代码

    加上当前页和每页显示的数据,应该是通过FromQuery传递进来的。但是这里已经有了一个FromQuery的参数了。


    在这个类里面加上分页的属性

    设置默认的参数

    pageSize被设置太大的问题,添加最大值。

    快捷键propfull

    自动生成


    alt+enter。这个应该是Resharper里面的快捷键。



    set这里就要进行比较

    进入到这个方法里面,加分页

    我们必须针对数据存储这个级别进行分页。
    这里转换成了一个IQueryable类型,这个类型有个特点就是延迟执行。这里相当于开始组建查询表达式。

    遇到toList或者SingleOrDefault时候才会真正的去执行sql

    分页必须在所有的过滤之后、




    这块代码的逻辑,可以直接删掉。这里把这段代码删掉。

    测试



    返回了空数组

    这里加上默认值。




    看下控制台执行的sql


    加上分页的参数

    故意不写pageSize。返回422表示客户端引起的错误。

    pageNumber输入0返回了一条数据,这样也是不对的

    我们需要自己在model类里面加上验证

    结束

  • 相关阅读:
    【33】避免遮掩继承而来的名称
    调用异步方法
    Python 调用C++
    【37】绝不重新定义继承而来的缺省参数值
    【36】绝不重新定义继承而来的non-virtual方法
    【38】通过复合塑模出Has-A 或根据某物实现出
    【转】C++ function、bind以及lamda表达式
    mongodb
    mongodb
    mongodb
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/14106363.html
Copyright © 2011-2022 走看看