Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Možete povezati pojedinačne zapise u redovima tabele sa drugim zapisima koristeći odnose koji postoje između definicija tabele. U OData, odnosi su izraženi kao svojstva navigacije.
Možete otkriti koje navigaцione osobine postoje u servisnom dokumentu $metadata. Pogledajte Veb API Navigation Properties. Za postojeće Dataverse tabele, pogledajte Veb API EitiTipe Reference
, za svaki tip entiteta, pogledajte navedene jednovredne i kolekcionosne navigacione osobine.
Sledeća tabela opisuje tri vrste odnosa između tabela u Dataverse.
| Tip | Opis | Primer |
|---|---|---|
| Jedan-na-mnogo | Jedan zapis može imati mnogo zapisa povezanih sa njim. | Zapis računa može imati mnogo zapisa kontakata u contact_customer_accounts. |
| Mnogo-na-jedan | Mnogi zapisi mogu biti povezani sa jednim zapisom. Many-to-One je odraz u ogledalu odnosa jedan-na-mnogi. Postoji samo jedna veza. |
Višestruki zapisi kontakata mogu biti povezani sa jednim zapisom naloga koristeći parentcustomerid_account. |
| Mnogi-na-mnoge | Mnogi zapisi mogu biti povezani sa mnogim zapisima. | Svaka bezbednosna uloga (uloga) može da sadrži reference na definiciju sistemuser-a. Obe ove tabele imaju svojstvo systemuserroles_associationnavigacije u vrednosti kolekcije. |
Korišćenje jednovrednih svojstava navigacije
Za postojeće zapise na mnogim stranama odnosa jedan-na-više ili više-na-jedan, možete povezati zapis postavljanjem Uri reference na drugi zapis. Najlakši i najčešći način da to uradite je da dodate napomenu @odata.bind na ime jednovredne navigacione osobine, a zatim podesite vrednost kao Uri na drugi zapis u zahtevu PATCH .
Povežite se sa jednovrednom navigacionom osobinom
Na primer, da biste povezali zapis kontakta sa zapisom računa koristeći jednovrednu navigacijsku parentcustomerid_account osobinu:
Zahtev:
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)"
}
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Kao što je opisano u Pridružite redove tabele prilikom kreiranja, takođe možete povezati nove zapise sa postojećim zapisima na isti način.
Razdvajanje pomoću jednovredne navigacione osobine
Da biste prekinuli vezu, podesite vrednost na null.
Zahtev:
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
}
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Kada odvojite vezu pomoću ove metode, nemojte uključivati napomenu @odata.bind . Koristite ime jednovredne navigacione osobine:
Zahtev:
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
}
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Više informacija: Osnovno ažuriranje
Druge metode
Možete koristiti druge metode da biste postigli iste rezultate koji su prethodno opisani sa jednovrednim svojstvima navigacije.
Koristite sledeći PUT zahtev da podesite vrednost parentcustomerid_account jednovredne navigacione osobine:
Zahtev:
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)"
}
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Belešku
Morate koristiti apsolutni URL kada podesite vrednost za @odata.id.
Da biste uklonili referencu, koristite ovaj DELETE zahtev:
Zahtev:
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
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Korišćenje svojstava navigaцije sa vrednošću kolekцije
Sa OData-om, obe strane odnosa mnogih-na-više imaju navigacione osobine u vrednosti kolekcije. Za odnose jedan-na-više i više-na-jedan, tabela na strani 'Jedan' ima svojstvo navigacije u vrednosti kolekcije. Nema razlike u načinu na koji radite sa bilo kojom od ovih vrsta odnosa dok koristite svojstva navigacije u vrednosti kolekcije. Ovaj odeljak opisuje kako raditi sa svojstvima navigaцije u vrednosti kolekцije za bilo koju vrstu odnosa.
Dodajte zapis u kolekciju
Sledeći primer pokazuje kako da dodate zapis kontakta u kolekciju nalogacontact_customer_accounts , koja je deo odnosa jedan-na-više.
Zahtev:
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)"
}
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Sledeći primer pokazuje kako da dodate zapis uloge u kolekciju sistemusersystemuserroles_association , što je odnos više-na-mnogo.
Zahtev:
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)"
}
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Uklanjanje zapisa iz kolekcije
Sledeći primer pokazuje kako da uklonite zapis kontakta u kolekciji nalogacontact_customer_accounts gde je contactidvrednost kontakta 00aa00aa-bb11-cc22-dd33-44ee44ee44ee .
Zahtev:
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
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Sledeći zahtev takođe radi:
Zahtev:
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
Odgovor:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Vidi takođe
Uzorak osnovnih operacija Veb API-ja (C #)
Uzorak osnovnih operacija Veb API-ja (JavaScript na strani klijenta)
Obavljanje operacija pomoću Veb API-ja
Sastavite Http zahteve i greške u rukovanju
Upitni podaci pomoću Veb API-ja
Kreiranje reda tabele pomoću Veb API-ja
Preuzmite red tabele koristeći Veb API
Ažurirajte i izbrišite redove tabele pomoću Veb API-ja
Koristite Veb API funkcije
Koristite Veb API akcije
Izvršite batch operacije koristeći Veb API
Lažno predstavljanje drugog korisnika koristeći Veb API
Izvršite uslovne operacije koristeći Veb API