Web API-Abfragedatenbeispiel (C#)

Dieses .NET 6.0-Beispiel veranschaulicht, wie allgemeine Datenvorgänge mit der Dataverse-Web-API ausgeführt werden.

In diesem Beispiel wird der allgemeine Helfercode in der WebAPIService-Klassenbibliothek (C#) verwendet.

Hinweis

Dieses Beispiel implementiert die Dataverse-Vorgänge sowie die Konsolenausgabe, die unter Web-API-Abfragedatenbeispiel aufgeführt sind, und nutzt bekannte C#-Konstrukte, die in Web-API-Beispiele (C#) aufgeführt sind.

Anforderungen

Zum Erstellen und Ausführen dieses Beispiels müssen die folgenden Anforderungen erfüllt sein:

  • Microsoft Visual Studio 2022.
  • Zugriff auf Dataverse mit Rechten, um Datenvorgänge auszuführen.

Wie man dieses Beispiel ausführt

  1. Klonen Sie das PowerApps-Beispiele-Repository oder laden Sie es herunter.

  2. Suchen Sie den Ordner /dataverse/webapi/C#-NETx/QueryData/.

  3. Die Datei QueryData.sln mit Visual Studio 2022 öffnen

  4. Bearbeiten Sie die appsettings.json-Datei, um die folgenden Eigenschaftswerte festzulegen:

    Eigenschaften Anweisungen
    Url Die Url für Ihre Umgebung. Ersetzen Sie den https://yourorg.api.crm.dynamics.com-Wert des Platzhalters durch den Wert für Ihre Umgebung. Informationen dazu finden Sie unter Entwicklerressourcen anzeigen.
    UserPrincipalName Ersetzen Sie den you@yourorg.onmicrosoft.com-Wert des Platzhalters durch den UPN-Wert, den Sie für den Zugriff auf die Umgebung verwenden.
    Password Ersetzen Sie den yourPassword-Wert des Platzhalters durch das von Ihnen verwendete Kennwort.
  5. Die Datei appsettings.json speichern

  6. Drücken Sie F5, um das Beispiel auszuführen.

Code

Der Code für dieses Beispiel ist hier: PowerApps-Beispiele/dataverse/webapi/C#-NETx/QueryData/Program.cs

Veranschaulichung

Dieses Beispiel hat 11 Regionen:

Abschnitt 0: Abzufragende Datensätze erstellen

Vorgänge: Erstellen Sie 1 account-Datensatz mit 9 verwandten contact-Datensätzen. Jeder contact hat 3 verwandte task-Datensätze.

Dies sind die Daten, die in der Stichprobe verwendet werden.

Abschnitt 1 Auswählen von spezifischen Eigenschaften

Vorgänge:

  • Verwenden von $select bei einer Kontaktentität, um die gewünschten Eigenschaften zu erhalten.
  • Das Einschließen von Anmerkungen ermöglicht den Zugriff auf formatierte Werte mit der @OData.Community.Display.V1.FormattedValue-Anmerkung

Abschnitt 2 Abfragefunktionen verwenden

Vorgänge:

  • Verwenden von Standardabfragefunktionen (contains, endswith, startswith), um Ergebnisse zu filtern.
  • Verwenden von Dataverse-Abfragefunktionen (LastXhours, Last7Days, Today, Between, In)
  • Verwenden von Filteroperatoren und logischen Operatoren (eq, ne, gt, and, or)
  • Festlegen des Vorrangs mithilfe von Klammern ((criteria1) and (criteria2)) or (criteria3)

Abschnitt 3 Bestellung und Aliase

Vorgänge:

  • $orderby verwenden
  • Verwenden parametrisierter Aliase (?@p1=fullname) mit $filter und $orderby

Abschnitt 4 Ergebnisse begrenzen und zählen

Vorgänge:

  • Eingrenzen von Ergebnissen mit $top.
  • Abrufen eines Zählwerts mit $count.

Abschnitt 5 Paginierung

Vorgänge:

  • Verwenden Sie den Prefer: odata.maxpagesize-Antwortheader, um die Anzahl der zurückgegebenen Zeilen einzugrenzen.
  • Verwenden Sie die mit der @odata.nextLink-Anmerkung zurückgegebene URL, um den nächsten Satzes von Datensätzen abzurufen.

Abschnitt 6 Ergebnisse erweitern

Vorgänge:

  • $expand mit einzelwertigen Navigationseigenschaften.
  • $expand mit Partnereigenschaft.
  • $expand mit sammlungswertigen Navigationseigenschaften.
  • $expand mit mehreren Navigationseigenschaftstypen in einer einzigen Anfrage.
  • Verschachteltes $expand.
  • Verschachteltes $expand mit einzelwertigen und sammlungswertigen Navigationseigenschaften.

Abschnitt 7 Aggregieren von Ergebnissen

Vorgänge: Verwenden Sie $apply=aggregate mit average, sum, min und max.

Abschnitt 8 FetchXML Anfragen

Vorgänge:

  • Senden von Anfragen mit fetchXml mit ?fetchXml=
  • Paging mit den page- und count-Attributen.

Abschnitt 9 Verwenden vordefinierter Abfragen

Vorgänge:

  • Verwenden von {entitysetname}?savedQuery={savedqueryid}, um die Ergebnisse einer gespeicherten Abfrage zurückzugeben (Systemansicht)
  • Verwenden von {entitysetname}?userQuery={userquery}, um die Ergebnisse einer Benutzeranfrage zurückzugeben (Gespeicherte Ansicht)

Abschnitt 10: Beispielaufzeichnungen löschen

Vorgänge: Ein Verweis auf jeden in diesem Beispiel erstellten Datensatz wurde einer Liste hinzugefügt, während sie erstellt wurde. In diesem Beispiel werden alle Datensätze mit einem $batch-Vorgang gelöscht.

Siehe auch

Abfragen von Daten mithilfe der Web-API
Web API-Abfragedatenbeispiel
Verwenden der Dataverse-Web-API Web-API-Beispiel für grundlegende Operationen (C#)
Beispiel bedingter Web-API-Operationen (C#)
Web-API-Funktionen- und Aktionen-Beispiel (C#)
Beispiel für Web-API-Tabellenschemavorgänge (C#)
Web-API WebApiService-Beispiel für parallele Operationen (C#)
Beispiel für parallele Web-API-Vorgänge mit TPL Dataflow-Komponenten (C#)

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).