共用方式為


包含統一 URI 的簡單資料定址配置 (ADO.NET 資料服務架構)

ADO.NET 資料服務架構會實作定址配置,而這項配置會使用 URI 來找出資料。Entity Data Model 的實體關聯性模式可透過在實體集中邏輯分組的實體,將資料組織成實體和關聯。這些模式反映在 URI 定址配置中。

為了依照範例描述此系統,下列範例將使用客戶追蹤服務。所有 Customer 實體都由下列 URI 定址。

http://myserver/data.svc/Customers

此 URI 的 /Customers 區段會指向中繼資料中指定的 Customer 實體集。ADO.NET 資料服務架構中繼資料相當於 EDM 中的概念結構描述。Customers 實體集在邏輯上包含 Customer 實體類型的所有執行個體 (Instance)。

在這個語法中,下列 URI 會擷取索引鍵屬性 (定義於中繼資料內) 具有 'ALFKI' 值的單一 Customer 實體。

http://myserver/data.svc/Customers('ALFKI')

實體和關聯

中繼資料會描述實體類型的結構以及實體之間的關聯。ADO.NET 資料服務架構會運用這項資訊來提供關聯周遊的機制。例如,如果資料服務中的每個 Customer 實體都具有相關聯的一組 Orders,下列 URI 就代表與 Customer 相關聯而且主索引鍵具有 'ALFKI' 值的銷售訂單集合。

http://myserver/data.svc/Customers('ALFKI')/Orders

您可以個別定址 Customer 實體的屬性。例如,下列 URI 代表具有索引鍵 'ALFKI' 之 Customer 實體的 ContactName

http://myserver/data.svc/Customers('ALFKI')/ContactName

除了以索引鍵為基礎的查詢以外,您可以在定址配置中加入簡單述詞 (Predicate)。這樣做可讓您根據實體的屬性來選取資料集,例如具有索引鍵 'ALFKI' 之 Customer 目前使用中的 Orders 集合。這項資料是透過下列 URI 來擷取:

http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=Active eq true

用於上述範例中的 $filter 運算子也可以搭配字串、數學或日期函式使用。下列 URI 代表 Customer 'ALFKI' 在 2007 年所建立之使用中訂單的集合:

http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=
Active eq true and (year(OrderDate) eq 2007)

如果 Orders 具有其他相關的實體,此 URI 可能會繼續向下鑽研關聯圖形、周遊關聯,以及篩選每個結果集。

展示控制資訊

ADO.NET 資料服務 URI 也可以在查詢字串中加入排序資料的資訊。網際網路應用程式的一般需求包括資料分頁以及按照屬性排序。下列 URI 列出依照日期排序的 Orders 實體:

http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=
Active eq true&$orderby=OrderDate

分頁結果是透過結合 $skip $top 參數完成的。在客戶的清單中,編號 31-41 是透過下列 URI 取得的:

http://myserver/data.svc/Customers?$skip=30&$top=10 

GET、PUT、POST 和 DELETE

上述範例中的語法可用於 HTTP GET 要求中,以便擷取實體和實體的集合。為了更新實體或關聯性,ADO.NET 資料服務會使用 HTTP PUT 語法。同樣地,HTTP POST 語法可用於建立新的實體,而 HTTP DELETE 語法可用於從儲存區中刪除實體。如需詳細資訊,請參閱 ADO.NET 資料服務的用戶端應用程式

另請參閱

概念

REST 服務和語意 (ADO.NET 資料服務架構)
一般 HTTP 需求 (ADO.NET 資料服務架構)

其他資源

ADO.NET Entity Framework