Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Atsevišķus ierakstus tabulas rindās var saistīt ar citiem ierakstiem, izmantojot relācijas, kas pastāv starp tabulas definīcijām. OData attiecības tiek izteiktas kā navigācijas rekvizīti.
Varat uzzināt, kādi navigācijas rekvizīti pastāv $metadata pakalpojuma dokumentā. Skatiet tīmekļa API navigācijas rekvizītus. Esošajām Dataverse tabulām skatiet Web API EntityType atsauci
, katram entītijas tipam skatiet uzskaitītos vienas vērtības un kolekcijas vērtību navigācijas rekvizītus.
Tālāk esošajā tabulā ir aprakstīti trīs relāciju veidi starp tabulām Dataverse.
| Tips | Apraksts | Piemērs |
|---|---|---|
| Viens pret daudziem | Vienam ierakstam var būt saistīti vairāki ieraksti. |
Konta ierakstam var būt daudz kontaktpersonu ierakstu contact_customer_accounts. |
| Daudzi pret vienu | Ar vienu ierakstu var saistīt vairākus ierakstus. Daudzi pret vienu ir viens pret daudziem attiecību spoguļattēls. Ir tikai vienas attiecības. |
Vairākus kontaktpersonu ierakstus var saistīt ar vienu konta ierakstu, izmantojot parentcustomerid_account. |
| Daudzi pret daudziem | Daudzus ierakstus var saistīt ar daudziem ierakstiem. | Katrā drošības lomā (lomā) var būt atsauces uz sistēmas lietotāja definīciju. Abām šīm tabulām ir systemuserroles_association. |
Vienas vērtības navigācijas rekvizītu izmantošana
Esošajiem ierakstiem , kas atrodas relācijas viens pret daudziem vai daudzi pret vienu, daudzu pusē ierakstu var saistīt, iestatot Uri atsauci uz otru ierakstu. Vienkāršākais un visizplatītākais veids, kā to izdarīt, ir pievienot @odata.bind anotāciju vienas vērtības navigācijas rekvizīta nosaukumam un pēc tam iestatīt vērtību kā Uri otram pieprasījuma ierakstam PATCH .
Saistīšana ar vienas vērtības navigācijas rekvizītu
Piemēram, lai saistītu kontaktpersonas ierakstu ar konta ierakstu, izmantojot vienas vērtības navigācijas rekvizītu, parentcustomerid_account veiciet tālāk norādītās darbības.
Lūgums:
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)"
}
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Kā aprakstīts sadaļā Tabulas rindu saistīšana izveides laikā, jaunus ierakstus var saistīt arī ar esošajiem ierakstiem tādā pašā veidā.
Atsaistīšana, izmantojot vienas vērtības navigācijas rekvizītu
Lai atsaistītu, iestatiet vērtību Null.
Lūgums:
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
}
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Atsaistot, izmantojot šo metodi, anotāciju neiekļaujiet @odata.bind . Izmantojiet vienas vērtības navigācijas rekvizīta nosaukumu:
Lūgums:
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
}
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Papildinformācija: Pamata atjauninājums
Citas metodes
Varat izmantot citas metodes, lai sasniegtu tos pašus rezultātus, kas iepriekš aprakstīti ar vienvērtības navigācijas rekvizītiem.
Izmantojiet tālāk norādīto PUT pieprasījumu, lai iestatītu vienas vērtības navigācijas rekvizīta parentcustomerid_account vērtību:
Lūgums:
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)"
}
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Piezīmes
Iestatot vērtību .@odata.id
Lai noņemtu atsauci, izmantojiet šo DELETE pieprasījumu:
Lūgums:
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
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Kolekcijas vērtību navigācijas rekvizītu izmantošana
Izmantojot OData, abām attiecību daudzi pret daudziem pusēm ir kolekcijas vērtības navigācijas rekvizīti. Relācijām viens pret daudziem un daudzi pret vienu tabulā 'Viens' pusē ir kolekcijas vērtības navigācijas rekvizīts. Nav atšķirības, kā strādāt ar jebkuru no šiem relāciju veidiem, izmantojot kolekcijas vērtību navigācijas rekvizītus. Šajā sadaļā ir aprakstīts, kā strādāt ar kolekcijas vērtību navigācijas rekvizītiem jebkura veida relācijām.
Ieraksta pievienošana kolekcijai
Tālāk sniegtajā piemērā ir parādīts, kā pievienot kontaktpersonas ierakstu kontucontact_customer_accounts kolekcijai, kas ir daļa no relācijas viens pret daudziem.
Lūgums:
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)"
}
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Šajā piemērā ir parādīts, kā pievienot lomas ierakstu systemusersystemuserroles_association kolekcijai, kas ir relācija daudzi pret daudziem.
Lūgums:
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)"
}
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Ieraksta noņemšana no kolekcijas
Tālāk sniegtajā piemērā ir parādīts, kā noņemt kontaktpersonas ierakstu no kontucontact_customer_accounts kolekcijas, kurā kontaktpersonas contactid vērtība ir 00aa00aa-bb11-cc22-dd33-44ee44ee44ee.
Lūgums:
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
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Darbojas arī šāds pieprasījums:
Lūgums:
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
Atbildi:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Skatīt arī
Tīmekļa API pamatoperāciju paraugs (C#)
Tīmekļa API pamatoperāciju paraugs (klienta puses JavaScript)
Darbību veikšana, izmantojot tīmekļa API
Http pieprasījumu sastādīšana un kļūdu apstrāde
Datu vaicājums, izmantojot tīmekļa API
Tabulas rindas izveide, izmantojot tīmekļa API
Tabulas rindas izgūšana, izmantojot tīmekļa API
Tabulas rindu atjaunināšana un dzēšana, izmantojot tīmekļa API
Tīmekļa API funkciju izmantošana
Tīmekļa API darbību izmantošana
Pakešu operāciju izpilde, izmantojot tīmekļa API
Uzdošanās par citu lietotāju, izmantojot tīmekļa API
Nosacītu operāciju veikšana, izmantojot tīmekļa API