Tabellen mit OData verknüpfen
Um zu steuern, welche Daten aus verknüpften Tabellendatensätzen zurückgegeben werden, verwenden Sie die $expand
Abfrageoption mit Navigationseigenschaften.
- Sie können bis zu 15
$expand
-Optionen in eine Abfrage aufnehmen. Jede$expand
-Option erstellt eine Verknüpfung, die die Leistung beeinträchtigen kann. - Abfragen, die Navigationseigenschaften mit Sammlungswert erweitern, geben möglicherweise zwischengespeicherte Daten für die Eigenschaften zurück, die die letzten Änderungen nicht widerspiegeln. Es wird empfohlen, eine
If-None-Match
-Kopfzeile mit Wertnull
zu verwenden, um Browserzwischenspeichern zu überschrieben. Erfahren Sie mehr über die Verwendung von HTTP-Headern , um weitere Einzelheiten zu erfahren.
In der folgenden Tabelle werden die Abfrageoptionen beschrieben, die Sie in bestimmten $expand
Optionen anwenden können:
Option | Eigenschaft | Weitere Informationen |
---|---|---|
$select |
Wählen Sie aus, welche Eigenschaften zurückgegeben werden. | Spalten auswählen |
$filter |
Begrenzen Sie für sammlungswertige Navigationseigenschaften die zurückgegebenen Datensätze. | Filterzeilen |
$orderby |
Steuern Sie für sammlungswertige Navigationseigenschaften die Reihenfolge zurückgegebener Datensätze. Wird nicht mit verschachteltem $expand unterstützt. |
Verschachteltes $expand für sammlungswertige Navigationseigenschaften |
$top |
Beschränken Sie für sammlungswertige Navigationseigenschaften die Anzahl zurückgegebener Datensätze. Wird nicht mit verschachteltem $expand unterstützt. |
Verschachteltes $expand für sammlungswertige Navigationseigenschaften |
$expand |
Erweitern Sie die Navigationseigenschaften im verknüpften Entitätssatz. Die Verwendung von $expand in einer $expand wird als verschachtelte $expand bezeichnet. |
Verschachteltes Expandieren von einwertigen Navigationseigenschaften und Verschachteltes $expand von sammlungswertigen Navigationseigenschaften |
Diese Optionen sind eine Teilmenge der in OData Version 4.0 Teil 1: Protocol Plus Errata 02 11.2.4.2.1 Optionen erweitern beschriebenen Abfrageoptionen. Die Optionen $skip
, $count
, $search
und $levels
werden für die Dataverse-Web-API nicht unterstützt.
Verwenden Sie diese Optionen mit $expand
, indem Sie sie in Klammern nach dem Namen der Navigationseigenschaft hinzufügen. Trennen Sie jede Option mit einem Semikolon (;).
Beispielsweise in der folgenden Abfrage:
Weisen Sie die
account.name
Eigenschaft neu zuTeilt die
AccountTasks
sammlungswertigen Navigationseigenschaftsanfrage:- Die
task.subject
-Eigenschaft - Wo
task.subject
die Zeichenfolge „Task
“ enthält - Sortiert nach
task.createdon
Datum, absteigend
- Die
/accounts?$select=name&$expand=Account_Tasks($select=subject;$filter=contains(subject,'Task');$orderby=createdon desc)
Spalten mit $select begrenzen
Begrenzen Sie die zurückgegebenen Spalten immer mit $select
, wenn Sie $expand
in einer Anfrage verwenden. Die folgende Abfrage gibt zum Beispiel die Werte contact.fullname
und task.subject
in den erweiterten Ergebnissen des Typs account
zurück:
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name
&$expand=primarycontactid($select=fullname),Account_Tasks($select=subject)
Prefer: odata.maxpagesize=1
If-None-Match: null
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort:
HTTP/1.1 200 OK
OData-Version: 4.0
Preference-Applied: odata.maxpagesize=1
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname),Account_Tasks(subject))",
"value": [
{
"@odata.etag": "W/\"80649578\"",
"name": "Litware, Inc. (sample)",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"primarycontactid": {
"fullname": "Susanna Stubberod (sample)",
"contactid": "70bf4d48-34cb-ed11-b596-0022481d68cd"
},
"Account_Tasks": [
{
"@odata.etag": "W/\"80649460\"",
"subject": "Task 1 for Litware",
"_regardingobjectid_value": "78914942-34cb-ed11-b596-0022481d68cd",
"activityid": "f68393c1-34cb-ed11-b597-000d3a993550"
}
],
"Account_Tasks@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts(78914942-34cb-ed11-b596-0022481d68cd)/Account_Tasks?$select=subject"
}
],
"@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts?$select=name&$expand=primarycontactid($select=fullname),Account_Tasks($select=subject)&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b78914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520first%253d%2522%257b78914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Unterschiede zwischen Navigationseigenschaftstypen
Es ist wichtig, daran zu denken, dass es zwei Typen von Navigationseigenschaften gibt. Erfahren Sie mehr über die Navigationseigenschaften der Web-API
Einzelwertige Navigationseigenschaften entsprechen Suchattributen, die N:1-Beziehungen unterstützen und eine Referenz auf einen anderen Datensatz ermöglichen.
Sammlungswertige Navigationseigenschaften entsprechen 1:n- oder n:n-Beziehungen.
Das Erweitern einer sammlungswertigen Navigationseigenschaft kann die Größe der Antwort auf eine Weise vergrößern, die schwer vorhersehbar ist. Es ist wichtig, dass Sie Grenzwerte einschließen, um zu steuern, wie viele Daten zurückgegeben werden. Sie können die Anzahl der Datensätze mit Hilfe der Paginierung begrenzen. Weitere Informationen zu Paging-Ergebnissen
Es gibt einen signifikanten Unterschied darin, wie Paging auf verschachtelte $expand-Optionen angewendet wird, die auf Navigationseigenschaften mit Sammlungswert angewendet werden. Weitere Informationen zum Erweitern von sammlungswertigen Navigationseigenschaften
Einzelwertige Navigationseigenschaften erweitern
Das folgende Beispiel zeigt, wie Kontaktdatensätze abgerufen werden, einschließlich des primären Kontakts und des Benutzers, der die Datensätze erstellt hat.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name
&$expand=primarycontactid($select=contactid,fullname),createdby($select=fullname)
Prefer: odata.maxpagesize=2
If-None-Match: null
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: odata.maxpagesize=2
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,primarycontactid(contactid,fullname),createdby(fullname))",
"value": [
{
"@odata.etag": "W/\"80649578\"",
"name": "Litware, Inc. (sample)",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"primarycontactid": {
"contactid": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"fullname": "Susanna Stubberod (sample)"
},
"createdby": {
"fullname": "System Administrator",
"systemuserid": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"ownerid": "4026be43-6b69-e111-8f65-78e7d1620f5e"
}
},
{
"@odata.etag": "W/\"80649580\"",
"name": "Adventure Works (sample)",
"accountid": "7a914942-34cb-ed11-b596-0022481d68cd",
"primarycontactid": {
"contactid": "72bf4d48-34cb-ed11-b596-0022481d68cd",
"fullname": "Nancy Anderson (sample)"
},
"createdby": {
"fullname": "System Administrator",
"systemuserid": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"ownerid": "4026be43-6b69-e111-8f65-78e7d1620f5e"
}
}
],
"@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts?$select=name%0A&$expand=primarycontactid($select=contactid,fullname),createdby($select=fullname)&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b7A914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520first%253d%2522%257b78914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Die createdby
einwertige Navigationseigenschaft gibt eine Instanz des systemuser EntityType zurück. Sowohl systemuserid
als auch ownerid
-Eigenschaften werden zurückgegeben. Dies liegt daran, dass systemuser
vom Principal EntityType erbt und den ownerid
Primärschlüssel mit Team-EntityType über diese Vererbung teilt.
Die Benutzertabelle (SystemUser) hat jedoch den Primärschlüssel SystemUserId. Die beiden Eigenschaften systemuserid
und ownerid
haben denselben Wert. Erfahren Sie mehr über die Vererbung von EntityTypes
Referenzen zurückgeben
Anstatt Daten zurückzugeben, können Sie auch Verweise oder Links zu den zugehörigen Datensätzen zurückgeben, indem Sie die einwertige Navigationseigenschaft mit der /$ref
Option erweitern. Das folgende Beispiel gibt JSON-Objekte mit einer @odata.id
-Eigenschaft zurück, die eine URL für jeden primären Kontakt enthält.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name
&$expand=primarycontactid/$ref
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: odata.maxpagesize=2
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,primarycontactid,primarycontactid/$ref())",
"value": [
{
"@odata.etag": "W/\"80649578\"",
"name": "Litware, Inc. (sample)",
"_primarycontactid_value": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"primarycontactid": {
"@odata.id": "[Organization URI]/api/data/v9.2/contacts(70bf4d48-34cb-ed11-b596-0022481d68cd)"
}
},
{
"@odata.etag": "W/\"80649580\"",
"name": "Adventure Works (sample)",
"_primarycontactid_value": "72bf4d48-34cb-ed11-b596-0022481d68cd",
"accountid": "7a914942-34cb-ed11-b596-0022481d68cd",
"primarycontactid": {
"@odata.id": "[Organization URI]/api/data/v9.2/contacts(72bf4d48-34cb-ed11-b596-0022481d68cd)"
}
}
],
"@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts?$select=name%0A&$expand=primarycontactid/$ref&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b7A914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520first%253d%2522%257b78914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Sie können die /$ref
-Option nur mit Einzelwert-Navigationseigenschaften verwenden. Wenn Sie sie mit einer sammlungswertigen Navigationseigenschaft verwenden, erhalten Sie den folgenden Fehler:
{
"error": {
"code": "0x80060888",
"message": "Expand with $ref is only supported on lookup type navigation property."
}
}
Verschachtelte Erweiterung von einwertigen Navigationseigenschaften
Sie können einwertige Navigationseigenschaften auf mehrere Ebenen erweitern, indem Sie eine $expand
-Option in einer anderen $expand
-Option verschachteln.
Die folgende Abfrage gibt die Datensätze task
zurück und erweitert den zugehörigen Datensatz contact
, den Datensatz account
, der sich auf den Datensatz contact
bezieht, und den Datensatz systemuser
, der den Datensatz account
erstellt hat:
Anforderung:
GET [Organization URI]/api/data/v9.2/tasks?$select=subject
&$expand=regardingobjectid_contact_task($select=fullname;
$expand=parentcustomerid_account($select=name;
$expand=createdby($select=fullname)))
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.maxpagesize=2
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: odata.maxpagesize=2
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#tasks(subject,regardingobjectid_contact_task(fullname,parentcustomerid_account(name,createdby(fullname))))",
"value": [
{
"@odata.etag": "W/\"80730855\"",
"subject": "Task 1 for Susanna Stubberod",
"activityid": "e9a8c72c-dbcc-ed11-b597-000d3a993550",
"regardingobjectid_contact_task": {
"fullname": "Susanna Stubberod (sample)",
"contactid": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"parentcustomerid_account": {
"name": "Litware, Inc. (sample)",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"createdby": {
"fullname": "System Administrator",
"systemuserid": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"ownerid": "4026be43-6b69-e111-8f65-78e7d1620f5e"
}
}
}
},
{
"@odata.etag": "W/\"80730861\"",
"subject": "Task 2 for Susanna Stubberod",
"activityid": "c206f534-dbcc-ed11-b597-000d3a993550",
"regardingobjectid_contact_task": {
"fullname": "Susanna Stubberod (sample)",
"contactid": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"parentcustomerid_account": {
"name": "Litware, Inc. (sample)",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"createdby": {
"fullname": "System Administrator",
"systemuserid": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"ownerid": "4026be43-6b69-e111-8f65-78e7d1620f5e"
}
}
}
}
],
"@odata.nextLink": "[Organization URI]/api/data/v9.2/tasks?$select=subject&$expand=regardingobjectid_contact_task($select=fullname;$expand=parentcustomerid_account($select=name;$expand=createdby($select=fullname)))&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253cactivityid%2520last%253d%2522%257bC206F534-DBCC-ED11-B597-000D3A993550%257d%2522%2520first%253d%2522%257bE9A8C72C-DBCC-ED11-B597-000D3A993550%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Sammlungswertige Navigationseigenschaften erweitern
Es gibt einige wichtige Unterschiede in der Antwort, die davon abhängen, ob Sie verschachteltes $expand
mit einer Navigationseigenschaft mit Sammlungswert irgendwo in Ihrer Abfrage verwenden.
Verschachteltes $expand | Einzelnes $expand | |
---|---|---|
Paging | Paging in erweiterten Zeilen. | Paging nur auf EntitySet-Ressource. <property name>@odata.nextLink -URLs für erweiterte Zeilen enthalten keine Paging-Informationen. |
$top oder $orderby unterstützt |
Nein | Ja |
Einzelnes $expand auf sammlungswertigen Navigationseigenschaften
Wenn Sie nur die einfache $expand
Ebene verwenden, wird kein Paging auf die erweiterten Zeilen angewendet. Wenn Sie den Anforderungsheader Prefer: odata.maxpagesize
einschließen, wird Paging nur auf die Entitätssatz-Ressource der Abfrage angewendet.
Jede erweiterte Navigationseigenschaft mit Sammlungswert gibt eine <property>@odata.nextLink
-URL zurück, die keine Paging-Informationen enthält. Es handelt sich um eine URL, die die gefilterte Sammlung für die Beziehung mit angehängten Abfrageoptionen darstellt. Sie können diese URL verwenden, um eine separate GET
-Anforderung zu senden, und sie gibt dieselben Zeilen zurück, die in Ihrer ursprünglichen Anforderung zurückgegeben wurden. Sie können Paging auf diese Anforderung anwenden.
Da auf die erweiterten Datensätze kein Paging angewendet wird, können bis zu 5000 zugehörige Datensätze für jede erweitere sammlungswertige Navigationseigenschaft zurückgegeben werden. Abhängig von Ihren Daten und der Abfrage kann es sich um eine Menge Daten handeln. Wenn Sie so viele Daten zurückgeben, kann dies die Leistung beeinträchtigen und möglicherweise dazu führen, dass Ihre Anfrage eine Zeitüberschreitung verursacht. Seien Sie vorsichtig mit den Abfragen, die Sie verfassen. Sie können die Optionen $top
, $filter
und $orderby
verwenden, um die Gesamtzahl der zurückgegebenen Datensätze zu steuern.
Das folgende Beispiel enthält eine einfache Erweiterung der Account_Tasks
und contact_customer_accounts
beim Abrufen von Datensätzen für Konten. Die Abfragekopfzeile Prefer: odata.maxpagesize=1
stellt sicher, dass nur ein Datensatz des Kontos auf der ersten Seite zurückgegeben wird.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,accountid
&$expand=Account_Tasks($select=subject),contact_customer_accounts($select=fullname)
Prefer: odata.maxpagesize=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
Preference-Applied: odata.maxpagesize=1
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,accountid,Account_Tasks(subject),contact_customer_accounts(fullname))",
"value": [
{
"@odata.etag": "W/\"80649578\"",
"name": "Litware, Inc. (sample)",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"Account_Tasks": [
{
"@odata.etag": "W/\"80730894\"",
"subject": "Task 1 for Litware",
"_regardingobjectid_value": "78914942-34cb-ed11-b596-0022481d68cd",
"activityid": "be9f6557-e2cc-ed11-b597-000d3a993550"
},
{
"@odata.etag": "W/\"80730903\"",
"subject": "Task 2 for Litware",
"_regardingobjectid_value": "78914942-34cb-ed11-b596-0022481d68cd",
"activityid": "605dbd65-e2cc-ed11-b597-000d3a993550"
},
{
"@odata.etag": "W/\"80730909\"",
"subject": "Task 3 for Litware",
"_regardingobjectid_value": "78914942-34cb-ed11-b596-0022481d68cd",
"activityid": "a718856c-e2cc-ed11-b597-000d3a993550"
}
],
"Account_Tasks@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts(78914942-34cb-ed11-b596-0022481d68cd)/Account_Tasks?$select=subject",
"contact_customer_accounts": [
{
"@odata.etag": "W/\"80648695\"",
"fullname": "Susanna Stubberod (sample)",
"_parentcustomerid_value": "78914942-34cb-ed11-b596-0022481d68cd",
"contactid": "70bf4d48-34cb-ed11-b596-0022481d68cd"
}
],
"contact_customer_accounts@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts(78914942-34cb-ed11-b596-0022481d68cd)/contact_customer_accounts?$select=fullname"
}
],
"@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts?$select=name,accountid&$expand=Account_Tasks($select=subject),contact_customer_accounts($select=fullname)&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b7A914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520first%253d%2522%257b78914942-34CB-ED11-B596-0022481D68CD%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Vergleichen Sie diese Antwort mit dem folgenden Beispiel, das eine verschachtelte $expand
enthält. Scrollen Sie in der Beispielantwort horizontal, um zu sehen, dass nur die URL @odata.nextLink
für das Kontoergebnis Paging-Informationen enthält.
Verschachteltes $expand auf sammlungswertigen Navigationseigenschaften
Wenn Sie irgendwo in Ihrer Abfrage ein verschachteltes $expand
verwenden und den Prefer: odata.maxpagesize
-Anforderungsheader eingeschlossen haben, wird Paging auf jede der erweiterten Sammlungen angewendet.
Jede erweiterte Navigationseigenschaft mit Sammlungswert gibt eine <property>@odata.nextLink
-URL zurück, die Paging-Informationen enthält. Sie können diese URL verwenden, um eine separate GET
-Anforderung zu senden, und sie gibt den nächsten Satz an Datensätzen zurück, die in Ihrer ursprünglichen Anforderung nicht einbezogen wurden.
Sie können die Optionen $top
oder $orderby
nicht verwenden, um die Gesamtzahl der Datensätze zu begrenzen, die mit einem verschachtelten $expand
zurückgegeben werden. Der folgende Fehler wird zurückgegeben, wenn Sie diese Optionen verwenden:
{
"error": {
"code": "0x80060888",
"message": "Only $select and $filter clause can be provided while doing $expand on many-to-one relationship or nested one-to-many relationship."
}
}
Das folgende Beispiel basiert auf dem vorherigen Beispiel und verwendet die gleichen Daten. Der einzige Unterschied ist der Zusatz in der URL dieser verschachtelten $expand
auf einer einwertigen Navigationseigenschaft, um den besitzenden Benutzer des Kontakts zurückzugeben: ;$expand=owninguser($select=fullname)
.
Anforderung:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,accountid
&$expand=Account_Tasks($select=subject),contact_customer_accounts($select=fullname;
$expand=owninguser($select=fullname))
Prefer: odata.maxpagesize=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
Preference-Applied: odata.maxpagesize=1
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,accountid,Account_Tasks(subject),contact_customer_accounts(fullname,owninguser(fullname)))",
"value": [
{
"@odata.etag": "W/\"80649578\"",
"name": "Litware, Inc. (sample)",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd",
"Account_Tasks": [
{
"subject": "Task 1 for Litware",
"activityid": "be9f6557-e2cc-ed11-b597-000d3a993550"
}
],
"Account_Tasks@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts(78914942-34cb-ed11-b596-0022481d68cd)/Account_Tasks?$select=subject,description&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%2520countOfRecords%253d%25221%2522%253e%253cactivityid%2520last%253d%2522%257bbe9f6557-e2cc-ed11-b597-000d3a993550%257d%2522%2520first%253d%2522%257bbe9f6557-e2cc-ed11-b597-000d3a993550%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E",
"contact_customer_accounts": [
{
"fullname": "Susanna Stubberod (sample)",
"contactid": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"owninguser": {
"fullname": "System Administrator",
"systemuserid": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"ownerid": "4026be43-6b69-e111-8f65-78e7d1620f5e"
}
}
],
"contact_customer_accounts@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts(78914942-34cb-ed11-b596-0022481d68cd)/contact_customer_accounts?$select=fullname&$expand=owninguser($select=fullname)&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%2520countOfRecords%253d%25221%2522%253e%253ccontactid%2520last%253d%2522%257b70bf4d48-34cb-ed11-b596-0022481d68cd%257d%2522%2520first%253d%2522%257b70bf4d48-34cb-ed11-b596-0022481d68cd%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
],
"@odata.nextLink": "[Organization URI]/api/data/v9.2/accounts?$select=name,accountid&$expand=Account_Tasks($select=subject,description),contact_customer_accounts($select=fullname;$expand=owninguser($select=fullname))&$skiptoken=%3Ccookie%20pagenumber=%222%22%20pagingcookie=%22%253ccookie%2520page%253d%25221%2522%2520countOfRecords%253d%25221%2522%253e%253caccountid%2520last%253d%2522%257b78914942-34cb-ed11-b596-0022481d68cd%257d%2522%2520first%253d%2522%257b78914942-34cb-ed11-b596-0022481d68cd%257d%2522%2520%252f%253e%253c%252fcookie%253e%22%20istracking=%22False%22%20/%3E"
}
Vergleichen Sie diese Antwort mit dem vorherigen Beispiel, das keine verschachtelte $expand
verwendet. In diesem Antwort:
- Der
Prefer: odata.maxpagesize=1
Anforderungsheader wird auf die mittask
zurückgegebenenAccount_Tasks
Datensätze angewendet. - Statt drei wird nur eine Aufgabe zurückgegeben.
- Die URL
Account_Tasks@odata.nextLink
gibt die nächsten beiden Aufgaben zurück. - Scrollen Sie in der Beispielantwort horizontal, um zu sehen, dass die URLs
Account_Tasks@odata.nextLink
,contact_customer_accounts@odata.nextLink
und@odata.nextLink
Paging-Informationen enthalten.
Nächste Schritte,
Erfahren Sie, wie Sie Zeilen anordnen.
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).