Provider di tipo ODataService (F#)
Fornisce tipi per accedere a un servizio apertura del protocollo dati (OData). OData è un protocollo per trasferire i dati da Internet. Molti provider di dati espongono l'accesso ai dati pubblicando un servizio Web OData. Il OData il provider del tipo che genera i tipi automaticamente in base alla struttura del database di origine OData e pertanto consente ai dati di utilizzo da qualsiasi origine dati di OData immediatamente nel codice, senza il sovraccarico mancanza di creare tipi di dati.
Namespace/Module Path: Microsoft.FSharp.Data.TypeProviders
Assembly: FSharp.Data.TypeProviders (in FSharp.Data.TypeProviders.dll)
type ODataService<ServiceUri : string,
?LocalSchemaFile : string,
?ForceUpdate : bool,
?ResolutionFolder : string,
?DataServiceCollection : bool>
Parametri statici
Parametro di tipo |
Descrizione |
---|---|
ServiceUri: stringa |
La stringa dell'URI per il servizio di OData. |
? LocalSchemaFile: stringa |
Il percorso di un file contenente lo schema. Questo file viene scritto dal provider del tipo. |
? ForceUpdate: bool |
Richiede che il collegamento diretto al servizio sia disponibile in fase di progettazione o in fase di compilazione e il file del servizio locale viene aggiornato. Il valore predefinito è true. Quando ForceUpdate è false, il provider risponde alle modifiche in LocalSchemaFile. |
? ResolutionFolder: stringa |
Una cartella da utilizzare per risolvere percorsi di file relativi in fase di compilazione. Il valore predefinito è la cartella contenente il progetto o lo script. |
? DataServiceCollection: bool |
Genera le raccolte che derivano da DataServiceCollection. Il valore predefinito è false. |
Note
Per una procedura dettagliata che illustra come utilizzare il provider del tipo di ODataService, vedere Procedura dettagliata: accesso a un servizio OData tramite provider di tipi (F#).
Su OData (aprire il protocollo di dati)
Il protocollo di OData fornisce l'accesso in sola lettura o di lettura/scrittura a un'origine dati su Internet. I dati sottostanti possono essere in uno dei due formati, uno basato su XML e noto come Atom e in uno che utilizza il formato di serializzazione JavaScript Object Notation (JSON). Il protocollo di OData è stato definito da Microsoft ed è stato generato come uno standard aperto nella suggerimento per aperta (OSP) della specifica di Microsoft.
Non è necessario conoscere il protocollo di OData è definito e distribuito per accedere ai dati tramite un servizio web di OData. Tuttavia, una breve descrizione di seguito consente di capire concettualmente le operazioni in corso. Il protocollo di OData seguenti principi di trasferimento di stato rappresentativo REST (), ovvero le richieste del client è indipendente dall'altro, alcuno stato sessione o dati viene archiviato sul server tra le richieste del client. Invece, qualsiasi stato necessario viene trasferito dal client al server con ogni richiesta del client. Nel caso di OData, le richieste del client includono creazione, lettura, aggiornamento ed eliminazione (CRUD). Le singole richieste dei client sono metodi HTTP, che includono GET, INSERITI, il POST, il UNIONE e CANC, il contenuto dei quali specifica i dettagli di cosa sta richiedendo. Il server rispondere a tali richieste su HTTP.
I dati di OData sono costituiti dai risultati che corrispondono a raccolte di voci. Per un database, un feed potrebbe rappresentare una tabella e le voci sono singoli record nella tabella. Un servizio web di OData può anche contenere un documento di servizio che elenca i feed disponibili, le operazioni del servizio che sono funzioni disponibili nel servizio e un documento di metadati che descrive tutte le informazioni pertinenti relative al servizio. Tutte le risorse rese disponibili da un servizio di OData sono descritte nel documento di metadati.
Il provider di tipo OData
Il provider di tipo OData rende i dati immessi in un servizio di OData disponibile a uno sviluppatore F# come set di tipi determinati dalla struttura dei dati. Quando si utilizza il provider di tipo OData, un tipo sarà disponibile per ognuno dei feed forniti dal servizio. Ad esempio, se i feed di OData sono un insieme di tabelle da un database relazionale, il provider di tipo rende disponibile un tipo per ogni tabella. Le colonne della tabella sono proprietà di tipo. Le voci per ogni feed sono disponibili come istanze del tipo.
Costruzione di query
Query su un servizio di OData possono essere creati utilizzando espressioni di query. Le espressioni di query consentono ai risultati della query del costrutto tramite codice F#, molto la modalità espressioni sequenza consentono di specificare le sequenze. La parola chiave selezionata nello stesso ruolo della parola chiave delle prestazioni. Inoltre, gli operatori di query possono essere utilizzati per personalizzare una query come in LINQ, in un altro linguaggio .NET, o in una stringa di query SQL.
È possibile utilizzare solo un sottoinsieme degli operatori di query sulle query di OData. Ciò è dovuto a limitazioni nei tipi di query che supporta i protocolli di OData. Gli operatori di query supportati includono la proiezione (select), l'ordinamento (orderBy, thenBy), filtrare (where, eliminando dalla stringa e la data e impaginanti (skip, take). Per ulteriori informazioni su questi operatori di query e in altri, vedere Espressioni di query (F#). Inoltre, è possibile utilizzare operazioni AddQueryOption specifiche di OData e Espandi.
Tipi generati
Nella tabella seguente sono illustrati i tipi generati da una creazione di istanza del form:
type MyService = ODataService<parameters>
Nella tabella seguente, ServiceTypeName rappresenta il nome del tipo di servizio e * rappresenta tutti i membri di uno spazio dei nomi.
Type |
Descrizione |
---|---|
MyService |
Il tipo world del contenitore. Contiene il metodo di GetDataContext, che restituisce una visualizzazione semplificata del contesto dati. Il metodo restituisce una nuova istanza di MyService.ServiceTypes.SimpleDataContextTypes.ServiceTypeName, inizializzato con il valore del parametro statico ServiceUri o dell'argomento, si ne è fornito. |
MyService.ServiceTypes |
Contiene i tipi completi incorporati e i tipi semplificati per il database. |
MyService.ServiceTypes.* |
i tipi incorporati generati da DataSvcUtil.exe. |
MyService.ServiceTypes.ServiceTypeName |
Il tipo di contesto del servizio, ereditato da DataContext. |
MyService.ServiceTypes.SimpleDataContextTypes.ServiceTypeName |
Contiene una proprietà per ogni proprietà di tipo completo di contesto, che restituisce DataServiceQuery. La proprietà delle credenziali ottiene o imposta le credenziali utilizzate per eseguire una query sul servizio di OData in fase di esecuzione. La proprietà di DataContext ottiene il contesto dati completo, di tipo DataContext. Questo tipo di base del tipo ServiceTypeName generato dal provider del tipo. |
Piattaforme
Windows 8, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informazioni sulla versione
Versioni della libreria di base F#
Supportato in: 2,0, 4,0, portabile
Vedere anche
Attività
Procedura dettagliata: accesso a un servizio OData tramite provider di tipi (F#)