首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WCF Data Service 實戰總結 (一):深入理解 OData 協定查詢語法

     編輯:關於.NET

OData 簡介

Open Data Protocol (OData) 是基於 HTTP/AtomPub/JSON 的資料存取協定,讓用戶端能像查詢 SQL 一樣透過 URL 對資源進行篩選、排序、分頁、展開關聯,適用於跨平台資料整合。

公開測試服務

  • https://services.odata.org/Northwind/Northwind.svc/
  • https://services.odata.org/OData/OData.svc/

核心查詢選項

1. 取得資源集合

GET /Northwind.svc/Products
GET /Northwind.svc/Categories

預設回傳 Atom/XML 格式。

2. 指定輸出格式

/Products?$format=json
/Categories?$format=json

JSON 輸出

3. 選取欄位

/Products?$select=ProductID,ProductName&$format=json

選取欄位

4. 展開導航屬性

先查 /$metadata 確認關聯:Product 擁有 Category、Supplier、Order_Details。

Metadata 關聯

/Products?$format=json&$expand=Supplier
/Products?$format=json&$expand=Supplier,Category

展開 Supplier

5. 分頁

/Products?$format=json&$skip=10&$top=10

6. 篩選

/Products?$format=json&$filter=UnitPrice gt 20
/Products?$format=json&$filter=ProductName eq 'Chai'

運算子:eq, ne, gt, ge, lt, le, and, or, not;函式:substringof, startswith, endswith, year, month, day。

7. 排序

/Products?$format=json&$orderby=UnitPrice desc
/Products?$format=json&$orderby=Category/CategoryName,ProductName

8. 計數

/Products/$count
/Products?$inlinecount=allpages&$top=5

服務文件與中繼資料

  • /Northwind.svc:服務文件,列出所有 EntitySet。
  • /Northwind.svc/$metadata:EDMX 中繼資料,定義實體型別、屬性、關聯、服務操作。

下一步

掌握查詢語法後,下一篇將示範如何在 .NET 中使用 WCF Data Service 快速建立自己的 OData 端點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved