ODataService-Typanbieter (F#)
Stellt die Typen bereit, um auf einen Dienst des Open Data Protocol (OData) zuzugreifen.OData ist ein Protokoll für die Übertragung von Daten über das Internet.Viele Datenanbieter bieten Zugriff auf ihre Daten, indem sie einen OData-Webdienst veröffentlichen.Der OData-Typanbieter generiert Typen für Sie basierend auf der Struktur der OData-Quelle und können Sie dadurch zu den Verwendungsdaten aus jeder OData-Datenquelle sofort im Code, ohne den üblichen Aufwand zum Erstellen von Datentypen.
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>
Statikähnliche Parameter
Typparameter |
Description |
---|---|
ServiceUri: Zeichenfolge |
Die URI-Zeichenfolge für den OData-Dienst. |
? LocalSchemaFile: Zeichenfolge |
Der Pfad zu einer Datei, die das Schema enthält.Diese Datei wird vom Typanbieter geschrieben. |
? ForceUpdate: bool |
Erfordert, dass der direkte Verbindung zum Dienst am Entwurf/an der Kompilierung verfügbar ist und die Datei des lokalen Diensts aktualisiert wird.Der Standardwert ist true.Wenn ForceUpdate falsch, antwortet der Anbieter auf Änderungen in LocalSchemaFile. |
? ResolutionFolder: Zeichenfolge |
Ein, um relative Dateipfade zur Kompilierzeit aufzulösen Ordner verwendet werden.Der Standardwert ist der Ordner, der das Projekt oder das Skript enthält. |
? DataServiceCollection: bool |
Generiert die Auflistungen, die von DataServiceCollection<T> abgeleitet werden.Der Standardwert ist false. |
Hinweise
Eine exemplarische Vorgehensweise, die zeigt, wie der ODataService-Typanbieter, finden Exemplarische Vorgehensweise: Zugreifen auf einen OData-Dienst mithilfe von Typanbietern (F#) verwendet.
Über OData-Darstellung (Open Data Protocol)
Das OData-Protokoll bietet schreibgeschützten oder Lese-Schreibzugang an eine Datenquelle über das Internet.Die zugrunde liegenden Daten können in zwei Formaten, in einem, das XML-basiert und als Atom bezeichnet wird, und in einem sein, das das Serialisierungsformat der JSON-Objekte (JavaScript Objekt Notation) verwendet.Das OData-Protokoll wurde von Microsoft definiert und Shared als offener Standard unter dem Microsoft Open Specification Promise (OSP).
Sie müssen nicht, um zu können, das OData-Protokoll definiert und auf Daten über einen OData-Webdienst implementiert wird.Jedoch hilft beispielsweise die folgende kurze Beschreibung Ihnen, dem zu verstehen, gegenwärtigen Zustands bereitzustellen.Das OData-Protokoll folgt den Prinzipien des Representational State Transfer REST () und bedeutet, dass Clientanforderungen unabhängig voneinander sind; kein Sitzungszustand oder Daten werden auf dem Server zwischen Clientanforderungen gespeichert.Stattdessen wird aller erforderlichen Zustand von Client zu Server zusammen mit jeder Clientanforderung übertragen.Bei OData erstellen Clientanforderungseinschliessung, Read-, Update- und Delete-Vorgänge (CRUD) Vorgänge.Einzelne Anforderungen von Clients sind HTTP-Methoden, die GET enthalten, sich SETZEN, SENDEN, ZUSAMMENFÜHREN und DELETE herabsetzen, dessen Inhalt die Details von angibt, was angefordert wird.Der Server reagiert auf diese Anforderungen über HTTP.
OData-Daten bestehen aus Feeds, die Auflistungen Einträge sind.Eine Datenbank kann ein Feedback kann eine Tabelle und die Einträge werden die einzelnen Datensätze in dieser Tabelle sein.Ein OData-Webdienst enthält auch ein Dienstdokument, das die verfügbaren Feeds, die Dienstvorgänge, die die Funktionen sind, die auf diesem Dienst verfügbar sind und ein Metadatendokument aufgelistet sind, das alle relevanten Informationen über den Dienst beschrieben.Alle Ressourcen bereitgestellt von einem OData-Dienst werden im Metadatendokument beschrieben.
Der OData-Typanbieter
Der OData-Typanbieter macht die Daten, die einem OData-Dienst veröffentlicht werden, der einem F#-Entwickler als Satz von Typen verfügbar ist, die von der Struktur der Daten festgelegt werden.Das heißt, wenn Sie den OData-Typanbieter verwenden, wird ein Typ für jeden der Feeds bereitgestellt, die von diesem Dienst bereitgestellt werden.Wenn die OData-Feeds ein Satz von Tabellen aus einer relationalen Datenbank sind, stellt der Typanbieter einen Typ für jede Tabelle bereit.Die Spalten dieser Tabelle sind die Eigenschaften des Typs.Die Einträge für jeden Feed sind als Instanzen des Typs verfügbar.
Erstellen von Abfragen
Abfragen auf einem OData-Dienst können erstellt werden, indem Abfrageausdrücke verwendet.Abfrageausdrücke können Sie die Konstruktabfrageergebnissen mit F#-Code, viel die Methode, Sequenz, dieausdrücke, sodass Sie Sequenzen anzugeben.Das ausgewählte Schlüsselwort gibt die gleiche Rolle wie das Ertragschlüsselwort erneut.Außerdem werden Abfrageoperatoren möglicherweise verwendet, um eine Abfrage anzupassen, ebenso wie in LINQ, in einer anderen .NET-Sprache oder in einer SQL-Abfragen-Zeichenfolge wurden.
Sie können nur eine Teilmenge der Abfrageoperatoren auf OData-Abfragen verwenden.Dies ist aufgrund der Einschränkungen in den Typen von Abfragen, die das OData-Protokoll unterstützt.Unterstützte Abfrageoperatoren schließen Projektion (select), die Sortierung (orderBy, thenBy), Filtern (where, Filtern bis zu Zeichenfolge und Datum) und Paging ein (skip, take).Weitere Informationen zu diesen Abfrageoperatoren und andere, finden Sie unter Abfrageausdrücke (F#).Außerdem können Sie die OData-Einzelgeschäfte AddQueryOption und Erweitern Sie verwenden.
Generierte Typen
In der folgenden Tabelle werden die Typen an, die durch eine Instanziierung des Formulars generiert werden:
type MyService = ODataService<parameters>
In der folgenden Tabelle werden ServiceTypeName den Namen des Diensttyps dar und * stellt alle Member eines Namespace dar.
Text [Type] |
Description |
---|---|
MyService |
Der gesamte Containertyp. Enthält die GetDataContext-Methode, die eine vereinfachte Ansicht des Datenkontexts zurückgibt.Die Methode gibt eine neue Instanz von MyService.ServiceTypes.SimpleDataContextTypes zurück.ServiceTypeName, das mit dem Wert ServiceUri statischen Parameters oder des Arguments initialisiert wird, wenn von bereitgestellt wird. |
MyService.ServiceTypes |
Enthält die eingebetteten vollständigen Typen und die vereinfachten Typen für die Datenbank. |
MyService.ServiceTypes.* |
Die eingebetteten Typen von DataSvcUtil.exe generiert. |
MyService.ServiceTypes.ServiceTypeName |
Der Dienstkontexttyp, geerbt von DataContext. |
MyService.ServiceTypes.SimpleDataContextTypes.ServiceTypeName |
Enthält eine Eigenschaft für jede Eigenschaft des vollständigen Kontexttyps, der DataServiceQuery<TElement> zurückgibt. Die Anmeldeinformationseigenschaft ruft ab oder legt die Anmeldeinformationen fest, die verwendet werden, um den OData-Dienst zur Laufzeit abzufragen. Die DataContext-Eigenschaft ruft den vollständigen Datenkontext, des Typs DataContext ab.Dies ist der Basistyp des ServiceTypeName-Typ, der durch den Typanbieter generiert wird. |
Plattformen
Windows 8, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Versionsinformationen
F#-Kern-Bibliotheks-Versionen
Unterstützt in: 2,0, 4,0, portablen
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Zugreifen auf einen OData-Dienst mithilfe von Typanbietern (F#)