Freigeben über


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.

Anmerkung

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. De 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-Abfragen

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

Datenabfrage mit Web-API
Web API-Abfragedatenbeispiel
Verwenden der Dataverse-Web-APIWeb-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#)