当前位置:首页 > 青鸟知识 > net

AspNet.WebAPI.OData.ODataPQ完成WebAPI的分页查询办事

来源:长沙电脑培训学校 发布日期:2016-05-21

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 TEntity 对象。结果图以下。

颠末以上的设置配备摆设,ODataPQ的nuget包安装和办事器端代码编写就算完成。

第四步:

查询参数看看客户真个结果。(查询参数 $filter,$top,$skip等等与OData和谈分歧。前往的数据中,包罗了Data,total字段。这就是我们分页要的工具。总数。)

 



拒绝套路 试听有礼

数据已加密保证您的信息安全