共用方式為


ADO.NET 資料服務系統查詢選項

URI 系統查詢選項代表 ADO.NET 資料服務用於控制要求回應的指示詞。下表將摘要列出 ADO.NET 資料服務所支援的選項。

支援之系統查詢選項的摘要

下表將列出並描述 ADO.NET 資料服務 URI 所使用的查詢選項。您可以將這些選項附加至查詢,以便限制或排序結果。

選項 描述

$expand

用於要求以內嵌方式傳回 (而非當做延後的內容傳回) 目標集所參考的集合。

$filter

僅傳回目標集中滿足指定之述詞 (Predicate) 的項目。

$orderby

按照遞增或遞減順序來排序目標實體集。

$skip

在目標中搜尋 n 個項目,然後傳回 n+1 個項目至集合的結尾。

$top

從目標集傳回前 n 個項目。

如果查詢選項包含在不支援此作業之資源的 URI 中,系統就會傳回「400 錯誤要求」回應碼。

查詢選項的套用順序

當 ADO.NET 資料服務套用查詢順序時,它就會依照下列清單所指定的順序進行。如果遺漏了任何選項,就會略過對應的步驟。

$filter. 這會限制傳回之項目的集合。

$orderby. 這會設定傳回之項目的順序。

$skip. 這會略過一些項目。

$top. 這會限制傳回之項目的數目。

$expand. 這會傳回與傳回之基底項目相關的內容。

URI http://www.example.com/service.svc/Orders?$orderby=ID&$top=10&$skip=10 表示傳回的訂單是按照 ID 屬性值排序之訂單清單中的 #11 到 #21。

每個 URI 所支援的系統查詢選項

下表將列舉每種 URI 語法類型所支援或不支援的查詢選項。每個語法範例後面都會接著一份表格,其中列出該語法的支援選項。

URI: serviceName/<EntitySet>
選項 支援 附註

$expand

傳回實體集。

$filter

傳回實體集。

$orderby

傳回實體集。

$skip

傳回實體集。

$top

傳回實體集。

URI: serviceName/<ResourceSet>(KeyPredicate)
選項 支援 附註

$expand

傳回指定之條件所識別的資源,通常是與基底資源集相關的資料。

$filter

如果篩選條件成立,便傳回資源,否則就會傳回「404 找不到資源」回應。

$orderby

$skip

$top

URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceComplexType>
選項 支援 附註

$expand

一律擴充複雜類型,即使 $expand 不存在 URI 中也一樣。

$filter

如果篩選條件成立,便傳回複雜類型執行個體 (Instance),否則就會傳回「404 找不到資源」回應。

$orderby

$skip

$top

URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceComplexType>/<ResourceProperty>
選項 支援 附註

$expand

一律擴充複雜類型,即使 $expand 不存在 URI 中也一樣。如果資源屬性不是複雜類型,它本身就沒有任何可擴充的屬性。

$filter

$orderby

$skip

$top

URI: serviceName/<ResourceSet>(KeyPredicate)/<ResourceProperty>
選項 支援 附註

$expand

一律擴充複雜類型,即使 $expand 不存在 URI 中也一樣。如果資源屬性不是複雜類型,它本身就沒有任何可擴充的屬性。

$filter

$orderby

$skip

$top

URI: serviceName/<Resource Set>(KeyPredicate)/<ResourceNavigationProperty>

如果上一則範例中的導覽屬性代表一對一或多對一關聯性,下表將描述這些查詢選項:

選項 支援 附註

$expand

傳回實體類型執行個體。

$filter

傳回實體類型執行個體。

$orderby

$skip

$top

如果導覽屬性代表一對多或多對多關聯性,下表將描述這些查詢選項:

選項 支援 附註

$expand

傳回實體集。

$filter

傳回實體集。

$orderby

傳回實體集。

$skip

傳回實體集。

$top

傳回實體集。

另請參閱

概念

ADO.NET 資料服務查詢選項
服務作業參數 (ADO.NET 資料服務架構)