Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Sie können einzelne Datensätze in Tabellenzeilen mit anderen Datensätzen verknüpfen, indem Sie Beziehungen verwenden, die zwischen den Tabellendefinitionen vorhanden sind. In OData werden die Beziehungen als Navigationseigenschaften ausgedrückt.
Sie können herausfinden, welche Navigationseigenschaften im $metadata-Dienstdokument vorhanden sind. Siehe Web API-Navigationseigenschaften. Informationen zu vorhandenen Dataverse-Tabellen finden Sie in der Web-API EntityType-Referenz
, für jeden Entitätstyp, siehe die aufgelisteten Einzelwert- und Sammlungswert-Navigationseigenschaften.
Die folgende Tabelle beschreibt die drei Typen von Beziehungen zwischen Tabellen in Dataverse.
| Art | BESCHREIBUNG | Beispiel |
|---|---|---|
| Eine zu Vielen | Einem Datensatz können viele Datensätze zugeordnet sein. | Ein Firmendatensatz kann viele Kontaktdatensätze in der contact_customer_accountsNavigationseigenschaft mit Sammlungswert enthalten. |
| n:1 | Einem Datensatz können viele Datensätze zugeordnet sein. Eine N:1-Beziehung ist die Spiegelung der 1:N-Beziehung. Es gibt nur eine Beziehung. |
Einem einzelnen Firmendatensatz können mithilfe der einwertigen Navigationseigenschaft mehrere Kontaktdatensätzeparentcustomerid_accountzugeordnet werden. |
| Viele zu Viele | Vielen Datensätzen können viele Datensätze zugeordnet sein. | Jede Sicherheitsrolle (Rolle) kann Verweise auf die Definition eines Systembenutzers enthalten. Beide Tabellen verfügen über eine systemuserroles_associationauflistungswertige Navigationseigenschaft. |
Einzelwertige Navigationseigenschaften verwenden
Für vorhandene Aufzeichnungen auf der viele Seite einer 1:n- oder n:1-Beziehung können Sie den Datensatz zuordnen, indem Sie einen Uri-Verweis auf den anderen Datensatz setzen. Die einfachste und gebräuchlichste Methode hierfür besteht darin, die @odata.bind Anmerkung an den Namen der einwertigen Navigationseigenschaft anzufügen und dann den Wert als URI für den anderen Datensatz in einer PATCH Anforderung festzulegen.
Mit einer einzelwertigen Partner-Navigationseigenschaft verknüpfen
Wenn Sie beispielsweise einen Kontaktdatensatz einem Kontodatensatz zuordnen möchten, indem Sie die parentcustomerid_account Einzelwert-Navigationseigenschaft verwenden:
Anforderung:
PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
If-Match: *
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"parentcustomerid_account@odata.bind": "accounts(ce9eaaef-f718-ed11-b83e-00224837179f)"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Wie in " Tabellenzeilen verknüpfen" beim Erstellen beschrieben, können Sie auch neue Datensätze auf die gleiche Weise mit vorhandenen Datensätzen verknüpfen.
Die Zuordnung mithilfe einer einzelwertigen Navigationseigenschaft auflösen
Wenn Sie die Zuordnung aufheben möchten, legen Sie den Wert auf NULL fest.
Anforderung:
PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
If-Match: *
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"parentcustomerid_account@odata.bind": null
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Wenn Sie die Zuordnung mithilfe dieser Methode aufheben, schließen Sie die @odata.bind Anmerkung nicht ein. Verwenden Sie den Namen der einzelwertigen Navigationseigenschaft:
Anforderung:
PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
If-Match: *
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"parentcustomerid_account": null
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Weitere Informationen: Basisches Update
Weitere Methoden
Sie können andere Methoden verwenden, um dieselben Ergebnisse zu erzielen, die zuvor mit einzelwertigen Navigationseigenschaften beschrieben wurden.
Verwenden Sie die folgende PUT Anforderung, um den Wert der parentcustomerid_account einzelwertigen Navigationseigenschaft festzulegen:
Anforderung:
PUT [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/parentcustomerid_account/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.id": "[Organization URI]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Notiz
Sie müssen eine absolute URL verwenden, wenn Sie den Wert für @odata.id festlegen.
Verwenden Sie diese DELETE Anforderung, um den Verweis zu entfernen:
Anforderung:
DELETE [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/parentcustomerid_account/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Sammlungswertige Navigationseigenschaften verwenden
Mit OData verfügen beide Seiten einer m:n-Beziehung über auflistungswertige Navigationseigenschaften. Bei 1:n- und n:1-Beziehungen verfügt die Tabelle auf der 1-Seite über eine sammlungswertige Navigationseigenschaft. Es gibt keinen Unterschied bei der Arbeit mit einer dieser Beziehungstypen bei Verwendung von sammlungswertigen Navigationseigenschaften. In diesem Abschnitt wird beschrieben, wie Sie mit Eigenschaften für die Sammlungswertnavigation für jeden Beziehungstyp arbeiten.
Einen Datensatz zur Sammlung hinzufügen
Das folgende Beispiel zeigt, wie Sie eine einen Kontakt Datensatz zur Sammlung accountcontact_customer_accounts hinzufügen, die Teil einer 1:N-Beziehung ist.
Anforderung:
POST [Organization Uri]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)/contact_customer_accounts/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.id": "[Organization URI]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Das folgende Beispiel zeigt, wie Sie eine einen Rollen Datensatz zur Sammlung systemusersystemuserroles_association hinzufügen, die Teil einer N:N-Beziehung ist.
Anforderung:
POST [Organization Uri]/api/data/v9.2/systemusers(34dcbaf5-f718-ed11-b83e-00224837179f)/systemuserroles_association/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
{
"@odata.id": "[Organization URI]/api/data/v9.2/roles(886b280c-6396-4d56-a0a3-2c1b0a50ceb0)"
}
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Einen Datensatz aus einer Sammlung entfernen
Das folgende Beispiel zeigt, wie Sie einen Kontakt Datensatz aus der Sammlung accountcontact_customer_accounts entfernt wird, wo der Wert contactid des Kontakts 00aa00aa-bb11-cc22-dd33-44ee44ee44ee lautet.
Anforderung:
DELETE [Organization Uri]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)/contact_customer_accounts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/$ref HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Die folgende Anfrage funktioniert auch:
Anforderung:
DELETE [Organization Uri]/api/data/v9.2/accounts(ce9eaaef-f718-ed11-b83e-00224837179f)/contact_customer_accounts/$ref?$id=[Organization URI]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Accept: application/json
Antwort:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Siehe auch
Beispiel grundlegender Web-API-Operationen (C#)
Beispiel grundlegender Web API-Operationen (clientseitiges JavaScript)
Vorgänge mithilfe der Web-API ausführen
HTTP-Anforderungen verfassen und Fehler beheben
Datenabfrage mit Web-API
Erstellen einer Tabellenzeile über die Web-API
Abrufen einer Tabellenzeile über die Web-API
Tabellenzeilen über die Web-API aktualisieren und löschen
Web-API-Funktionen verwenden
Nutzen von Web-API-Aktionen
Ausführen von Batchvorgängen mithilfe der Web-API
Annehmen eines anderen Benutzerkontos mit der Web-API
Bedingte Vorgänge mithilfe der Web-API ausführen