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
Klonen Sie das PowerApps-Beispiele-Repository oder laden Sie es herunter.
Suchen Sie den Ordner /dataverse/webapi/C#-NETx/QueryData/.
De Datei
QueryData.sln
mit Visual Studio 2022 öffnenBearbeiten 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.Die Datei
appsettings.json
speichernDrü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
- undcount
-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#)