广州暨华电脑学校
咨询热线:020-85566216

诚        毅        精      勤

当前位置:所在位置: 广州电脑培训 >> 电脑技术 >> net >> 正文

AspNet.WebAPI.OData.ODataPQ

发布时间:2018/2/26 13:53:29 内容来源::广州暨华电脑学校 点击:0

  AspNet.WebAPI.OData.ODataPQ

  这是针对 Asp.net WebAPI OData 协议下,查询分页。或者是说 本人在使用Asp.Net webAPI 做服务接口时写的一个分页查询服务支持的扩展库。

  它支持 MS Asp.Net WebAPI OData 协议下获取记录总数进行分页操作。

  其实,分页真的简单,简单得不能再简单了。分页总数,每页大小。就够了,但是怎么都找不到 Asp.Net WebAPI OData 协议下获取总记录数的例子

  或者找到例子,按照做了N遍,就是不行,总数就是不给我返回来。

  对于获取记录总数 查阅了一些资料、比如 $inlinecount=allpages ,$count=true,经历了很长时间的折腾。

  要么就是 告诉我:不支持 $inlinecount查询参数,或者就是 不支持 $count 查询参数。弄得我很是不舒服。多么好的OData,获取一个记录总数都那么难~~~(吐槽下,O(∩_∩)O~)。

  在开始使用它之前,先允许我对 AspNet.WebAPI.OData.ODataPQ 啰嗦几句。

  AspNet.WebAPI.OData.ODataPQ,是在Nuget.org的包名称,也就是 ID,识别码,在使用的时候可以通过 ” 包控制台命令窗口" 安装、

  PM -> Install-package AspNet.WebAPI.OData.ODataPQ [-Version 5.2.2.1]

  扩展库名实际是 ODataPQ.dll 这样一个文件。

  目前在 nuget 有2个版本。分别是(5.x ,4.x),具体情况见下面

  5.2.2.1:最新版本(lasted version,有publicTokenKey)

  5.2.2.0:最新版本(lasted version,无publicTokenKey)

  这两个版本,就是差一个 publicTokenKey ,建议用 5.2.2.1 这个版本。

  如果你的WebAPI项目中的。Microsoft.AspNet.WebApi.OData,也就是引用中的 System.Web.Http.OData 程序集的版本。

  是 5.2.2.0 及以上,建议使用这两个版本中的其中一个,不要使用下面4.X版本的库

  ------------------------------------------------------------------------------------------------------------------------------------------

  4.0.30507:(for 程序集 System.Web.Http.OData 4.0.30506版本 有publicTokenKey )

  4.0.30506:(for 程序集 System.Web.Http.OData 4.0.30506版本 无publicTokenKey )

  这两个版本,就是差一个 publicTokenKey ,建议用 4.0.30507 这个版本。

  如果你的WebAPI项目中的 Microsoft.AspNet.WebApi.OData,也就是引用中的 System.Web.Http.OData 程序集的版本。

  是 4.0.30506 及以上,建议使用这两个版本中的其中一个,不要使用上面5.X版本的库

  -----------------------------------------------------------------------------------------------------------------------------------------

  好,啰嗦完了后,下面开始用它来实现最简单的服务(分页查询,\(^o^)/~)

  第一步:

  创建Asp.Net WebAPI项目,这就不多啰嗦了(。net4.0,.net4.5都可以)

  第二步:

  确认你的 System.Web.Http.OData 程序集的版本,如果是 4.0.30506 ,安装 ODataPQ 4.0.30507/4.0.30506

  “ 程序包管理控制台 ” :PM -> Install-Package AspNet.WebAPI.OData.ODataPQ -Version 4.0.30507

  如果 System.Web.Http.OData 是 5.2.2.0及以上 ,安装 ODataPQ 5.2.2.1/5.2.2.0

  “ 程序包管理控制台 ” :PM -> Install-Package AspNet.WebAPI.OData.ODataPQ [-Version 5.2.2.1]

  第三步:

  新建一个控制器,叫 ODataPQController,继承自 ApiController 。加一个 Get action方法,在方法上标记一下

  OData.ODataPageResult。然后返回 IQueryable 对象。效果图如下。

  

  经过以上的配置,ODataPQ的nuget包安装以及服务器端代码编写就算完成。

  第四步:

  查询参数看看客户端的效果。(查询参数 $filter,$top,$skip等等与OData协议一致。返回的数据中,包括了Data,total字段。这就是我们分页要的东西。总数。)

  

  • 上一篇电脑技术:
  • 下一篇电脑技术:
  • 学校简介 |专业课程 | 学生就业 | 校园风光

    学校地址:广州天河区五山路金华园区C座3楼307(华南理工大学南门旁)/p>

    学校名称:广州暨华教育Java培训学校:www.020bdqn.com.cn 联系电话:020-85566215

    ? 2002-2018 广州青大教育信息咨询有限公司 版权所有 备案/许可证编号为:粤ICP备11083420号-4