Freigeben über


OData zur Abfrage von Daten verwenden

Jede Abfrage beginnt mit einer Sammlung von Entitäten. Entitätssammlungen können sein:

EntitySet-Ressourcen

Um alle EntitySet in Ihrem Umgebung verfügbaren Ressourcen zu finden, senden Sie eine GET Anfrage an das Web-API- Servicedokument:

Anforderung:

GET [Organization URI]/api/data/v9.2/
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0

Antwort:

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0  

{
    "@odata.context": "[Organization URI]/api/data/v9.2/$metadata",
    "value": [
        {
            "name": "aadusers",
            "kind": "EntitySet",
            "url": "aadusers"
        },
        {
            "name": "accountleadscollection",
            "kind": "EntitySet",
            "url": "accountleadscollection"
        },
        {
            "name": "accounts",
            "kind": "EntitySet",
            "url": "accounts"
        },
      ... <Truncated for brevity>
   [
}

Trinkgeld

Diese Werte sind in der Regel der Pluralname der Tabelle, aber sie können auch anders lauten. Verwenden Sie die Ergebnisse dieser Anfrage, um zu bestätigen, dass Sie den richtigen EntitySet Ressourcennamen verwenden.

Beginnen Sie beispielsweise mit der accounts EntitySet-Ressource, um Daten aus dem Kontoentitätstyp abzurufen.

GET [Organization URI]/api/data/v9.2/accounts

Gefilterte Sammlungen

Sie können jede Sammlung von Entitäten abfragen, die durch eine Navigationseigenschaft mit Sammlungswert eines angegebenen Datensatzes dargestellt werden. Wenn Sie z. B. Daten aus dem Kontoentitätstyp abrufen möchten, bei dem ein bestimmter Benutzender der OwningUser ist, können Sie die sammlungswertige Navigationseigenschaft user_accounts aus dem angegebenen systemuser-Datensatz verwenden.

GET [Organization URI]/api/data/v9.2/systemusers(<systemuserid value>)/user_accounts?$select=name

Um den Namen der Navigationseigenschaft mit dem Wert einer Sammlung zu finden:

Daten abrufen

Um Daten aus einer Sammlung abzurufen, senden Sie eine GET Anfrage an die Sammlungsressource. Das folgende Beispiel zeigt das Abrufen von Daten vom Kontoentitätstyp.

Dieses Beispiel zeigt auch:

Anforderung:

GET [Organization URI]/api/data/v9.2/accounts?$select=name,statecode,statuscode&$orderby=name&$top=1
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

Antwort:

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0  
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

{
   "@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,statecode,statuscode)",
   "value": [
      {
         "@odata.etag": "W/\"112430907\"",
         "name": "A. Datum Corporation (sample)",
         "statecode@OData.Community.Display.V1.FormattedValue": "Active",
         "statecode": 0,
         "statuscode@OData.Community.Display.V1.FormattedValue": "Active",
         "statuscode": 1,
         "accountid": "4b757ff7-9c85-ee11-8179-000d3a9933c9"
      }
   ]
}

Abfrage verfeinern

Nachdem Sie die Tabelle ausgewählt haben, mit der Ihre Abfrage beginnen soll, verfeinern Sie die Abfrage, um die benötigten Daten zu erhalten. In den folgenden Artikeln wird erläutert, wie Sie Ihre Abfrage vervollständigen.

Artikel Aufgabe
Spalten auswählen Geben Sie an, welche Datenspalten zurückgegeben werden sollen.
Tabellen verbinden Geben Sie an, welche zugehörigen Tabellen in den Ergebnissen zurückgegeben werden sollen.
Bestellzeilen Geben Sie die Sortierreihenfolge der Zeilen an, die zurückgegeben werden sollen.
Filterzeilen Geben Sie an, welche Datenzeilen zurückgegeben werden sollen.
Seitenergebnisse Geben Sie an, wie viele Datenzeilen mit jeder Anforderung zurückgegeben werden sollen.
Aggregatdaten So gruppieren und aggregieren Sie die zurückgegebenen Daten.
Anzahl der Zeilen So ermitteln Sie die Anzahl der zurückgegebenen Zeilen.
Leistungsoptimierungen So optimieren Sie die Leistung

OData-Abfrageobtionen

Verwenden Sie diese Optionen, um die von einer Sammlung zurückgegebenen Ergebnisse zu ändern. Die folgende Tabelle beschreibt die OData Abfrageoptionen, die die Dataverse Web-API unterstützt.

Option Verwendet um Weitere Informationen
$select Fordern Sie einen bestimmten Satz von Eigenschaften für jede Entität oder jeden komplexen Typ an. Spalten auswählen
$expand Geben Sie die zugehörigen Ressourcen an, die in Übereinstimmung mit den abgerufenen Ressourcen eingeschlossen werden sollen. Tabellen verbinden
$orderby Fordern Sie Ressourcen in einer bestimmten Reihenfolge an. Bestellzeilen
$filter Eine Sammlung von Ressourcen filtern. Filterzeilen
$apply Daten gruppieren und aggregieren. Aggregatdaten
$top Die Anzahl der Elemente in der abgefragten Sammlung, die in das Ergebnis einbezogen werden sollen definieren. Beschränken der Anzahl von Zeilen
$count Fordern Sie eine Anzahl der übereinstimmenden Ressourcen an, die in den Ressourcen in der Antwort enthalten sind. Anzahl der Zeilen

Wenn Sie mehrere Optionen anwenden möchten, trennen Sie die Abfrageoptionen mit einem Fragezeichen (?) vom Ressourcenpfad. Trennen Sie jede Option nach der ersten mit einem kaufmännischen Und-Zeichen (&). Bei Optionsnamen wird zwischen Groß- und Kleinschreibung unterschieden.

Verwendung von Parameteraliasen mit Systemabfrageoptionen

Sie können Parameteraliase für $filter- und $orderby-Systemabfrageoptionen verwenden, aber derzeit nicht innerhalb der $expand-Option. Parameter-Aliase lassen es zu, dass Sie denselben Wert mehrfach in einer Anfrage verwenden. Wenn dem Alias kein Wert zugeordnet wurde, wird angenommen, dass er NULL ist.

Ohne Parameteraliase:

GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue
&$orderby=revenue asc,name desc
&$filter=revenue ne null

Mit Parameteraliassen:

GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue
&$orderby=@p1 asc,@p2 desc
&$filter=@p1 ne @p3&@p1=revenue&@p2=name

Sie können auch Parameteraliase verwenden, wenn Sie Funktionen verwenden. Erfahren Sie mehr über die Verwendung von Web-API-Funktionen

Nicht unterstützte OData-Abfrageoptionen

Die Dataverse Web-API unterstützt die folgenden OData-Abfrageoptionen nicht: $skip,$search,$format.

URL-Längenbeschränkungen

Die Länger einer URL in einer GET-Anforderung wird auf 32 KB (32.768 Zeichen) begrenzt. Die Einbeziehung vieler komplexer OData-Abfrageoptionen als Parameter in die URL kann dazu führen, dass der Grenzwert erreicht wird. Sie können einen $batch-Vorgang mit einer POST-Anforderung als eine Methode zum Verschieben von OData-Abfrageoptionen aus der URL und in den Anforderungstext verwenden. Dort ist der Grenzwert doppelt so hoch. Das Senden einer GET-Anfrage innerhalb eines $batch lässt URLs mit einer Länge von bis zu 64 KB (65.536 Zeichen) zu. Erfahren Sie mehr über Batchvorgänge mithilfe der Web-API.

Beschränken der Anzahl von Zeilen

Um die Anzahl der zurückgegebenen Zeilen zu begrenzen, verwenden Sie die $top OData-Abfrageoption. Ohne diesen Grenzwert gibt Dataverse bis zu 5.000 Zeilen zurück.

Alternativ können Sie mithilfe von Auslagerung eine Anzahl von Datensätzen angeben, die zurückgegeben werden sollen. Verwenden Sie $top nicht, wenn Sie Seiten mit Daten anfordern. Erfahren Sie, wie Sie ausgelagerte Ergebnisse anfordern

Einschränkungen

Es gibt einige Dinge, die Sie mit FetchXml tun können, die von OData nicht unterstützt werden.

Community-Tools

Anmerkung

Von der Community erstellte Tools werden von Microsoft nicht unterstützt. Wenn Sie Fragen oder Probleme mit Community-Tools haben, wenden Sie sich an den Herausgeber des Tools.

Der Dataverse REST-Generator ist ein Open-Source-Projekt, das eine Benutzeroberfläche bereitstellt, mit der Sie viele Dinge mit der Dataverse-Web-API tun können, wie zum Beispiel Abfragen verfassen.

Die XrmToolBoxFetchXMLBuilder ist ein kostenloses Tool zum Erstellen und Testen von FetchXml-Anforderungen, generiert aber auch Code für -Abfragen mit derselben Designererfahrung.

Funktionen von OData Version 4.0

Die Dataverse-Web-API ist ein OData-Dienst der Version 4.0. In diesen Abschnitten der OData-4.0-Spezifikation wird das Abrufen von Daten beschrieben:

In diesem und in den anderen Artikeln dieses Abschnitts werden die Teile der OData-Spezifikation 4.0 beschrieben, die von der Dataverse-Web-API implementiert werden. Darüber hinaus wird beschrieben, wie Sie sie zum Abrufen von Geschäftsdaten aus Dataverse verwenden können.

Anmerkung

Die OData-Version 4.01 ist die neueste Version. Sie enthält Verbesserungen und zusätzliche Features, die in Version 4.0 und daher derzeit nicht in der Dataverse-Web-API verfügbar sind.

Nächste Schritte,

Lernen Sie, wie man Spalten auswählt.