Partekatu bidez


Lotu eta deslokatu taulako errenkadak Web APIa erabiliz

Taulako errenkadetako erregistro indibidualak beste erregistro batzuekin lotu ditzakezu, taularen definizioen artean dauden erlazioak erabiliz. OData-n, erlazioak nabigazio-propietate gisa adierazten dira.

Nabigazio-propietateak zein dauden $metadata zerbitzuaren dokumentuan aurki dezakezu. Ikus Web APIaren nabigazioaren propietateak. Lehendik dauden Dataverse-ren taulak ikusteko, ikus Web APIaren EntityType Erreferentzia

, entitate mota bakoitzerako, ikus zerrendatutako balio bakarreko eta bildumaren balioa duten nabigazio-propietateak.

Ondorengo taulan Dataverse-ko taulen arteko hiru erlazio motak azaltzen dira.

Type Deskribapenak Adibidez
Bakarkako askotara Disko batek erregistro asko izan ditzake berarekin lotuta. Kontu erregistro batek kontaktu-erregistro ugari izan ditzake contact_customer_accounts.
Anitz-to-bat Erregistro asko erregistro bakar batekin lotu daitezke.

Many-to-One One-to-Many harreman baten ispilua da. Harreman bakarra.
Kontaktu erregistro anitz kontu erregistro bakar bati lotu daitezke parentcustomerid_account erabiliz.
Askoren eta askotara Erregistro asko erregistro askorekin lotu daitezke. Segurtasun-rol bakoitzaksistema-erabiltzaile baten definizioari buruzko erreferentziak izan ditzake.
Bi taula hauek systemuserroles_association dituzte.

Balio bakarreko nabigazio-propietateak erabiltzea

Lehendik dauden erregistroetan, bana-to-many edo anitz-to-one erlazioaren alde askotan , erregistroa lotu dezakezu beste erregistroari Uri erreferentzia ezarriz. Hori egiteko modurik errazena eta ohikoena balio bakarreko nabigazio-propietatearen izenari gehitzea da @odata.bind , eta, ondoren, balioa Uri gisa ezartzea eskaera bateko PATCH beste erregistroan.

Lotu balio bakarreko nabigazio-propietate batekin

Adibidez, kontaktu-erregistro bat kontu-erregistro bati atxikitzeko, balio bakarreko nabigazio-propietatea parentcustomerid_account erabiliz:

Eskaera:

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)"
}

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)

Sortu taularen errenkadak asoziatu atalean azaltzen den bezala, erregistro berriak lehendik dauden erregistroekin ere lotu ditzakezu modu berean.

Bereizi balio bakarreko nabigazio-propietate bat erabiliz

Elkartzeko, ezarri balioa null gisa ezarri.

Eskaera:

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
}

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)

Metodo hau erabiliz bereizten duzunean, ez @odata.bind sartu oharpena. Erabili balio bakarreko nabigazio-propietatearen izena:

Eskaera:

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
}

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)

Informazio gehiago: Oinarrizko eguneratzea

Beste metodo batzuk

Beste metodo batzuk erabil ditzakezu aurretik deskribatutako emaitza berberak lortzeko, balio bakarreko nabigazio-propietateekin.

Erabili honako PUT eskaera balio bakarreko nabigazio-propietatearen balioa parentcustomerid_account ezartzeko:

Eskaera:

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)"
}

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0

Oharra

URL absolutua erabili behar duzu balioa ezartzerakoan @odata.id.

Erreferentzia kentzeko, erabili eskaera hau DELETE :

Eskaera:

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

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0

Bildumaren balioen nabigazio-propietateak erabiltzea

OData-rekin, askoren eta askoren arteko harremanaren bi aldeek bildumaren balioa duten nabigazio-propietateak dituzte. One-to-many eta many-to-one erlazioetarako, 'One' aldeko taulak bildumaren balioa duen nabigazio-propietatea du. Ez desberdintasunik harreman mota horietako edozeinekin lan egiteko moduan, bildumaren balioa duten nabigazio-propietateak erabiltzen dituzunean. Atal honetan edozein erlazio motatako bildumaren balioen nabigazio-propietateekin nola lan egin azaltzen da.

Gehitu erregistro bat bilduma bati

Ondorengo adibidean kontaktu-erregistro bat kontu-bildumaricontact_customer_accounts nola gehitu erakusten da, bat-akoren arteko erlazioaren parte dena.

Eskaera:

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)"
}

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0

Ondorengo adibidean erakusten da nola gehitu rol erregistro bat systemusersystemuserroles_association bilduman, hau da, askoren eta askoren arteko erlazioa.

Eskaera:

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)"
}

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0

Kendu erregistro bat bilduma batetik

Ondorengo adibidean kontaktu-erregistro bat kontaktu-balioa dagoen contact_customer_accountskontu-bildumatik contactid00aa00aa-bb11-cc22-dd33-44ee44ee44ee nola kendu erakusten da.

Eskaera:

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

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0

Ondorengo eskaera ere funtzionatzen du:

Eskaera:

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

Erantzuna:

HTTP/1.1 204 NoContent
OData-Version: 4.0

Ikus baita ere

Web APIren oinarrizko eragiketen adibidea (C#)
Web APIren oinarrizko eragiketen adibidea (bezeroaren aldeko JavaScript)
Web API bidez eragiketak egitea
Konposatu HTTP eskaerak eta kudeatu erroreak
Datuak kontsultatzea WEB API bidez
Sortu taulako errenkada bat Web APIa erabiliz
Berreskuratu taulako errenkada bat Web APIa erabiliz
Eguneratu eta ezabatu taulako errenkadak Web APIa erabiliz
Erabili web APIaren funtzioak
Erabili Web API ekintzak
Exekutatu batch eragiketak Web APIa erabiliz
Beste erabiltzaile baten nortasuna irudikatzea Web APIa erabiliz
Egin baldintzapeko eragiketak Web APIa erabiliz