廣州暨華電腦學校
咨詢熱線:020-85566216

誠        毅        精      勤

當前位置:所在位置: 廣州電腦培訓 >> 電腦技術 >> net >> 正文

AspNet.WebAPI.OData.ODataPQ

發布時間:2018/2/26 13:53:29 內容來源::廣州暨華電腦學校 點擊:

  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(華南理工大學南門旁)

    學校名稱:廣州暨華電腦培訓學校 聯系電話:020-85566215

    2002-2019 廣州青大教育信息咨詢有限公司 版權所有 備案/許可證編號為:粵ICP備11083420號-11

    今天30选5开奖公告