共用方式為


ODataService 型別提供者 (F#)

提供型別存取開放式資料通訊協定(OData)服務。OData即是的通訊協定(Protocol) Transitional網際網路。許多資料提供者會發行 OData Web 服務讓他們的資料可以公開供他人存取。OData型別提供者緊接在程式碼產生型別是根據OData來源的結構和使您能夠使用任何OData資料來源的資料,通常,而不需要額外負荷建立資料型別。

Namespace/Module Path: Microsoft.FSharp.Data.TypeProviders

Assembly: FSharp.Data.TypeProviders (在 FSharp.Data.TypeProviders.dll)

type ODataService<ServiceUri : string,
                  ?LocalSchemaFile : string,
                  ?ForceUpdate : bool,
                  ?ResolutionFolder : string,
                  ?DataServiceCollection : bool>

靜態型別參數

輸入參數。

描述

ServiceUri:字串

OData服務的URI字串。

? LocalSchemaFile:字串

包含結構描述之檔案的路徑。這個檔案是由型別撰寫提供者。

? ForceUpdate:bool

需求與服務的直接連接可用在設計/編譯時期,而且也會重新整理本機服務檔。預設值為 true。當 ForceUpdate 為false時,提供者會反應在 LocalSchemaFile的變更。

? ResolutionFolder:字串

資料夾會使用的已解析相對檔案路徑在編譯時期。預設值為包含專案或指令碼的資料夾。

? DataServiceCollection:bool

會從 DataServiceCollection<T>衍生集合。預設值為 false。

備註

如需示範如何使用ODataService型別提供者,請參閱 逐步解說:使用型別提供者存取 OData 服務 (F#)的逐步解說。

如需OData (開啟資料通訊協定)

OData通訊協定提供對資料來源的唯讀或讀取/寫入存取在網際網路。基礎資料可以儲存在XML以和稱為原子這兩種格式的其中一個,使用" JavaScript物件標記法而另一個(JSON)序列化格式。OData通訊協定是由Microsoft所定義且放開,在Microsoft開放式規格承諾(OSP)的下一個開放標準。

您不需要知道OData通訊協定如何定義和實作透過存取資料OData Web服務。不過,下列概要說明有助於了解概念上發生的事件。OData通訊協定會根據具像狀態傳輸(Representational State Transfer,REST)的原則,表示用戶端要求是相互獨立的,工作階段狀態或資料儲存在用戶端要求之間的伺服器不會儲存。相反地,所有必要的狀態從用戶端傳輸至伺服器的每一個用戶端要求。在OData情況下,用戶端要求包括建立,讀取,更新,並刪除(CRUD)作業。從用戶端個別要求是HTTP方法,包括GET, PUT, POST、合併和刪除,內容指定原因詳細資訊要求。伺服器回應的HTTP要求。

OData資料包括項目集合的摘要。對於資料庫,摘要可以表示資料表,而項目是個別資料錄在該資料表中。OData Web服務也可能包含列出可用的摘要,服務作業是函式可用說明服務的所有相關資訊的。這個服務的服務,文件,以及中繼資料提供所有可用的資源可由OData服務在中繼資料中文件中有詳細說明。

OData型別提供者

OData型別提供者是由資料的結構將資料發行至OData服務可供F#開發人員為一組型別來決定。也就是說,當您使用OData提供者型別時,型別可該服務提供的每一個摘要。例如,在中,如果OData摘要是一組從關聯式資料庫的資料表,這個型別的提供者所做的每一個資料表的型別使用。這個資料表的資料行是型別的屬性。每一個摘要的項目是以型別的執行個體。

建構查詢

使用查詢運算式,在OData服務的查詢中建立。使用F#程式碼中,查詢運算式可以讓您建構查詢結果,這種運算式可以讓您指定序列的序列。SELECT關鍵字模擬角色和yield關鍵字相同。此外,查詢運算子可以使用自訂查詢,與您在LINQ,在其他.NET語言,或在SQL查詢字串的方式相同。

您可以使用查詢運算子的子集OData查詢的。這是因為在OData通訊協定支援查詢類型的限制。支援的查詢運算子包括規劃(select),順序(orderBy, thenBy),篩選(where,篩選字串與日期)和呼叫(skip, take)。如需這些查詢運算子和其他變更的詳細資訊,請參閱 查詢運算式 (F#)。此外,您也可以使用OData特定作業 AddQueryOption展開

產生的型別

下表顯示表單的執行個體化(Instantiation)產生的型別:

type MyService = ODataService<parameters>

在下表中, ServiceTypeName 表示服務的型別名稱,和*表示命名空間所有成員的連結。

型別

描述

MyService

整個容器型別。

包含GetDataContext方法,傳回資料內容的一個簡單的檢視。這個方法會傳回MyService.ServiceTypes.SimpleDataContextTypes新執行個體。ServiceTypeName,初始化 ServiceUri 靜態參數或引數的值,則為,如果提供一個。

MyService.ServiceTypes

包含內嵌完整型別和簡化的型別資料庫的。

MyService.ServiceTypes.*

DataSvcUtil.exe產生的內嵌型別。

MyService.ServiceTypes.ServiceTypeName

服務內容類型,繼承自 DataContext

MyService.ServiceTypes.SimpleDataContextTypes.ServiceTypeName

包含完整內容類型的每個屬性(Property)的屬性(Attribute),則會傳回 DataServiceQuery<TElement>

驗證屬性取得或設定認證會用來查詢OData服務會在執行階段。

DataContext屬性取得完整的資料內容,型別 DataContext。這是這個型別所產生的 ServiceTypeName 型別的基底型別的提供者。

平台

Windows 8, Windows 8中, Windows 7, Windows Server 2012上, Windows Server 2008 R2

版本資訊

F# 核心程式庫版本

支援版本:2.0, 4.0,可攜式執行檔 (PE)。

請參閱

工作

逐步解說:使用型別提供者存取 OData 服務 (F#)

參考

Microsoft.FSharp.Collections 命名空間 (F#)

Microsoft.FSharp.Data.TypeProviders 命名空間 (F#)