Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Wenn Sie Daten abfragen, beschränken Sie die zurückgegebene Datenmenge, um die Leistung zu optimieren. Wählen Sie nur die Spalten mit benötigten Daten aus.
Wenn Sie Spalten mit OData in Dataverse-Web-API-Abfragen auswählen, verwenden Sie die $selectAbfrageoption , um auszuwählen, welche Spalten zurückgegeben werden sollen. In OData wird jede Spalte als Eigenschaft dargestellt. Wenn Sie keine Abfrageoption einschließen $select , gibt die Abfrage alle Eigenschaften zurück, wodurch die Leistung reduziert werden kann.
Im folgenden Beispiel werden die Eigenschaften name und revenue aus der ersten Zeile der accounts EntitySet-Ressource angefordert.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue&$top=1
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#accounts(name,revenue)",
"value": [
{
"@odata.etag": "W/\"81052965\"",
"name": "Litware, Inc. (sample)",
"revenue": 20000.0000,
"_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
"accountid": "4624eff7-53d3-ed11-a7c7-000d3a993550"
}
]
}
Die Primärschlüsseleigenschaft wird immer zurückgegeben, sodass Sie sie nicht in Ihr $selecteinschließen müssen. In diesem Beispiel ist accountid der Primärschlüssel.
Möglicherweise werden in der Antwort andere Eigenschaftswerte angezeigt. In diesem Fall ist die _transactioncurrencyid_valueNachschlageeigenschaft für die zugehörige Currency (TransactionCurrency)-Tabelle/Entitätsreferenz enthalten, da es sich um revenue eine Währungseigenschaft handelt.
Welche Eigenschaften sind verfügbar?
Alle verfügbaren Eigenschaften für eine Entität finden Sie im $metadata-Dienstdokument. Weitere Informationen finden Sie unter Web-API-Eigenschaften.
Tipp
Um schnell zu ermitteln, welche Eigenschaften verfügbar sind, senden Sie eine Anforderung mithilfe der $top Abfrageoption mit einem Wert von 1 ohne Verwendung $select.
Beispiel: GET [Organization URI]/api/data/v9.2/accounts?$top=1
In Web API Entity Type Reference der Beschreibung werden die Entitätstypen beschrieben, die in Dataverse enthalten sind.
Formatierte Werte
Der Server generiert formatierte Werte als Zeichenfolgenwerte, die Sie in Ihrer Anwendung verwenden können. Formatierte Werte umfassen:
- Die lokalisierten Bezeichnungen für die Spalten „Auswahl“, „Auswahlmöglichkeiten“, „Ja/Nein“, „Status“ und „Statusgrund“
- Der primäre Namenswert für Such- und Eigentümereigenschaften
- Währungswerte mit Währungssymbolen
- Formatierte Datumswerte in der Zeitzone des Benutzers
Um formatierte Werte in Ihre Ergebnisse einzuschließen, verwenden Sie den Prefer-Anforderungsheader, um die Präferenz "odata.include-annotations" zu senden.
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
Formatierte Werte sind eine von mehreren Anmerkungen, die Sie anfordern können. Verwenden Sie Prefer: odata.include-annotations="*", um alle Anmerkungen einzuschließen. Weitere Informationen finden Sie unter Anforderungsanmerkungen.
Der formatierte Wert wird mit dem Datensatz mithilfe einer Anmerkung zurückgegeben, die auf diese Konvention folgt:
<property name>@OData.Community.Display.V1.FormattedValue
Beispiel:
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue,_primarycontactid_value,customertypecode,modifiedon
&$top=1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
In der folgenden Tabelle werden die Werte und formatierten Werte beschrieben, die für die angeforderten Eigenschaften zurückgegeben werden.
| Eigentum | Wert | Formatierter Wert |
|---|---|---|
name |
Litware, Inc. (sample) |
Nichts |
revenue |
20000.0000 |
$20,000.00 |
_primarycontactid_value |
70bf4d48-34cb-ed11-b596-0022481d68cd |
Susanna Stubberod (sample) |
customertypecode |
1 |
Competitor |
modifiedon |
2023-04-07T21:59:01Z |
4/7/2023 2:59 PM |
_transactioncurrencyid_value |
228f42f8-e646-e111-8eb7-78e7d162ced1 |
US Dollar |
accountid |
78914942-34cb-ed11-b596-0022481d68cd |
Nichts |
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,revenue)",
"value": [
{
"@odata.etag": "W/\"81359849\"",
"name": "Litware, Inc. (sample)",
"revenue@OData.Community.Display.V1.FormattedValue": "$20,000.00",
"revenue": 20000.0000,
"_primarycontactid_value@OData.Community.Display.V1.FormattedValue": "Susanna Stubberod (sample)",
"_primarycontactid_value": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"customertypecode@OData.Community.Display.V1.FormattedValue": "Competitor",
"customertypecode": 1,
"modifiedon@OData.Community.Display.V1.FormattedValue": "4/7/2023 2:59 PM",
"modifiedon": "2023-04-07T21:59:01Z",
"_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
"_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd"
}
]
}
Eigenschaftsdaten nachschlagen
Wenn eine Nachschlageeigenschafteine mehrstufige (oder polymorphe Beziehung) darstellt, müssen Sie bestimmte Anmerkungen anfordern, um zu bestimmen, welche Tabelle die zugehörigen Daten enthält.
Beispielsweise verfügen viele Tabellen über Datensätze, die Benutzer oder Teams besitzen. Das System speichert Besitzdaten in einer Nachschlagespalte mit dem Namen ownerid. Diese Spalte ist eine einwertige Navigationseigenschaft in OData. Sie können $expand eine Verknüpfung erstellen, um diesen Wert abzurufen, sie können jedoch nicht verwendet werden $select. Sie können jedoch $select verwenden, um die entsprechende _ownerid_value Lookup-Eigenschaft abzurufen.
Wenn Sie die Suchfeld-Eigenschaft _ownerid_value mit Ihrer $select einschließen, wird ein GUID-Wert zurückgegeben. Dieser Wert teilt Ihnen nicht mit, ob es sich bei dem Besitzer des Datensatzes um einen Benutzer oder ein Team handelt. Sie müssen Anmerkungen anfordern, um diese Daten abzurufen.
Um diese Anmerkungen in Ihre Ergebnisse einzuschließen, verwenden Sie den Prefer-Anforderungsheader, um die Einstellung odata.include-annotations mit diesen Einstellungen zu senden:
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.associatednavigationproperty,Microsoft.Dynamics.CRM.lookuplogicalname"
Tipp
Nutzen Sie Prefer: odata.include-annotations="*", um alle Anmerkungen einzuschließen. Weitere Informationen finden Sie unter Anforderungsanmerkungen.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,_ownerid_value&$top=2
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.associatednavigationproperty,Microsoft.Dynamics.CRM.lookuplogicalname"
Die folgende Antwort gibt zwei verschiedene Kontodatensätze zurück. Die _ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname Anmerkung teilt Ihnen mit, dass ein team Besitzer der ersten ist und die systemuser zweite besitzt.
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="Microsoft.Dynamics.CRM.associatednavigationproperty,Microsoft.Dynamics.CRM.lookuplogicalname"
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,_ownerid_value)",
"value": [
{
"@odata.etag": "W/\"81550512\"",
"name": "Adventure Works (sample)",
"_ownerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "ownerid",
"_ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "team",
"_ownerid_value": "39e0dbe4-131b-e111-ba7e-78e7d1620f5e",
"accountid": "1adef0b8-54d3-ed11-a7c7-000d3a993550"
},
{
"@odata.etag": "W/\"81359849\"",
"name": "Litware, Inc. (sample)",
"_ownerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "ownerid",
"_ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "systemuser",
"_ownerid_value": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd"
}
]
}
-
<lookup property name>@Microsoft.Dynamics.CRM.lookuplogicalnameist der logische Name der verknüpften Tabelle. -
<lookup property name>@Microsoft.Dynamics.CRM.associatednavigationpropertyist der Name der entsprechenden einzelwertigen Navigationseigenschaft. Sie können diesen Wert in einer anderen Anforderung verwenden$expand, um weitere Daten aus dem verknüpften Datensatz abzurufen.
Spaltenaliase
Verwenden Sie für die Web-API fetchxml, um benutzerdefinierte Aliase für Spalten anzugeben.
Derzeit können Sie keine Spaltenalias mithilfe der Dataverse-Web-API mit OData angeben. OData 4.0 enthält nicht die in OData 4.01 eingeführte $compute Systemabfrageoption , die für diese Funktion erforderlich ist.
Nächste Schritte
Erfahren Sie, wie Sie Tabellen verknüpfen.