Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Tabeliridade üksikuid kirjeid saate seostada teiste kirjetega, kasutades tabelidefinitsioonide vahelisi seoseid. OData-s väljendatakse seoseid navigeerimisomadustena.
Navigeerimisatribuute saate teada $metadata teenusedokumendist. Vt Web API navigeerimise atribuudid. Olemasolevate Dataverse'i tabelite kohta vaata Web API EntityType Reference
, iga üksuse tüübi kohta vaata loetletud üheväärtuslikke ja koguväärtuslikke navigeerimisomadusi.
Järgmises tabelis kirjeldatakse kolme tüüpi seoseid Dataverse'i tabelite vahel.
| Tüüp | Kirjeldus | Näide |
|---|---|---|
| Üks mitmele | Ühe kirjega võib olla seotud mitu kirjet. |
Kontokirjel võib kollektsiooni contact_customer_accounts olla palju kontaktikirjeid. |
| Mitu-ühele | Ühe kirjega saab seostada palju kirjeid. Mitu-ühele on üks-mitmele suhte peegelpilt. On ainult üks suhe. |
Ühe kontokirjega saab seostada mitu kontaktikirjet, kasutades parentcustomerid_accountüheväärtuselist navigeerimisatribuuti. |
| Mitu-mitmele | Paljusid kirjeid saab seostada paljude kirjetega. | Iga turberoll (roll) võib sisaldada viiteid süsteemikasutaja määratlusele. Mõlemal tabelil on systemuserroles_associationkollektsiooni väärtusega navigeerimisatribuut. |
Üheväärtuseliste navigeerimisatribuutide kasutamine
Olemasolevate kirjete puhul, mis asuvad üks-mitmele või mitu-ühele-seose poolel , saate kirje seostada, määrates teisele kirjele URI-viite. Lihtsaim ja levinum viis seda teha on lisada @odata.bind marginaal üheväärtuselise navigeerimisatribuudi nimele ja seejärel määrata väärtus päringu teise kirje PATCH URI-ks.
Seostamine üheväärtuselise navigeerimisatribuudiga
Näiteks kontaktikirje seostamine kontokirjega , kasutades parentcustomerid_account üheväärtuslikku navigeerimisomadust:
Taotluse:
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)"
}
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Nagu kirjeldatud Associate tabeli ridades loomisreaktsioonis, saad samamoodi siduda uusi kirjeid olemasolevate kirjetega.
Dissotsieeru, kasutades üheväärtuslikku navigeerimisomadust
Dissotsieerimiseks määra väärtus nulliks.
Taotluse:
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
}
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Kui sa selle meetodiga dissotsieerud, ära lisa annotatsiooni @odata.bind . Kasuta üheväärtusliku navigeerimisomaduse nime:
Taotluse:
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
}
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Lisateave: Põhivärskendus
Muud meetodid
Saad kasutada teisi meetodeid, et saavutada samad tulemused, nagu eelnevalt kirjeldatud, üheväärtuslike navigeerimisomadustega.
Kasuta järgmist PUT päringut, et määrata ühe väärtusega navigeerimisomaduse väärtus parentcustomerid_account :
Taotluse:
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)"
}
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Märkus.
Väärtuse määramisel @odata.idtuleb kasutada absoluutset URL-i.
Viite eemaldamiseks kasutage seda DELETE taotlust:
Taotluse:
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
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Kollektsiooni väärtusega navigeerimisatribuutide kasutamine
OData puhul on mitu-mitmele seose mõlemal poolel kollektsiooni väärtusega navigeerimisatribuudid. Ühe-paljude ja paljude-ühele suhete puhul on 'Üks' poolel oleval tabelil koguväärtusega navigeerimisomadus. Nende suhete puhul ei ole vahet, kui kasutad koguväärtuslikke navigeerimisomadusi. See osa kirjeldab, kuidas töötada koguväärtuslike navigeerimisomadustega mistahes tüüpi seoste puhul.
Kirje lisamine kollektsiooni
Järgmises näites näidatakse, kuidas lisada kontaktikirjetkontokogumissecontact_customer_accounts , mis on osa üks-mitmele seosest.
Taotluse:
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)"
}
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Järgmises näites näidatakse, kuidas lisada rollikirjetsystemuserisystemuserroles_association kogumisse, mis on mitu-mitmele seos.
Taotluse:
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)"
}
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Kirje eemaldamine kogust
Järgmises näites näidatakse, kuidas eemaldada kontaktikirjekontokogumistcontact_customer_accounts , kus kontakti contactid väärtus on 00aa00aa-bb11-cc22-dd33-44ee44ee44ee.
Taotluse:
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
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Toimib ka järgmine päring:
Taotluse:
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
Vastus:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Vt ka
Veebi API põhitoimingute näidis (C#)
Veebi API põhitoimingute näidis (kliendipoolne JavaScript)
Soorita toimingud veebi API abil
HTTP-päringute koostamine ja tõrgete käsitlemine
Andmete päring veebi API abil
Tabelirea loomine veebi API abil
Tabelirea toomine veebi API abil
Tabeliridade värskendamine ja kustutamine veebi API abil
Veebi API funktsioonide kasutamine
Web API toimingute kasutamine
Paketttoimingute tegemine veebi API abil
Teise kasutajana esinemine veebi API abil
Tingimuslike toimingute tegemine veebi API abil