Белешка
Приступ овој страници захтева ауторизацију. Можете покушати да се пријавите или промените директоријуме.
Приступ овој страници захтева ауторизацију. Можете покушати да промените директоријуме.
Можете повезати појединачне записе у редовима табеле са другим записима користећи односе који постоје између дефиниција табеле. У ОДата, односи су изражени као својства навигације.
Можете открити које навигационе особине постоје у сервисном документу $ метадата. Погледајте Веб АПИ Навигатион Пропертиес . За постојеће Датаверсе табеле, погледајте Веб АПИ ЕнтитyТипе Референце , за сваки тип ентитета, погледајте наведене једновредне и колекционосне навигационе особине.
Следећа табела описује три врсте односа између табела у Датаверсе.
| Тип | Опис | Пример |
|---|---|---|
| Један-на-много | Један запис може имати много записа повезаних са њим. | Запис рачуна може имати много записа контаката у навигационој особини у вредности накнације колекције . contact_customer_accounts |
| Много-на-један | Многи записи могу бити повезани са једним записом. Манy -то -Оне је одраз у огледалу односа један-на-многи. Постоји само једна веза. |
Вишеструки записи контаката могу бити повезани са једним записом налога користећи једновредну навигацијску особину parentcustomerid_account. |
| Многи-на-многе | Многи записи могу бити повезани са многим записима. | Свака безбедносна улога (улога) може да садржи референце на дефиницију системусер-а . Обе ове табеле имају својство systemuserroles_association навигације у вредности колекције . |
Коришћење једновредних својстава навигације
За постојеће записе на многим странама односа један-на-више или више-на-један, можете повезати запис постављањем Ури референце на други запис. Најлакши и најчешћи начин да то урадите је да додате напомену @odata.bind на име једновредне навигационе особине, а затим подесите вредност као Ури на други запис у захтеву PATCH .
Повежите се са једновредном навигационом особином
На пример, да повежете запис контакта са налогом користећи једновредну навигацијску parentcustomerid_account особину:
Захтев:
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)"
}
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Као што је описано у Придружите редове табеле на креирању , нови записи се такође могу повезати са постојећим записима на исти начин.
Прекини везу са једновредном навигационом особином
Ако желите да одвојите, можете једноставно подесити вредност на нулл.
Захтев:
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
}
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Када се раздвајате на овај начин, не морате да укључите напомену @odata.bind . Можете једноставно користити име једновредне навигационе особине:
Захтев:
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
}
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Више информација: Основно ажурирање
Друге методе
Постоје и други начини да се постигну исти резултати који су претходно описани са једновредним навигационим својствима.
Можете користити следећи PUT захтев да подесите вредност parentcustomerid_account једновредне навигационе особине:
Захтев:
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)"
}
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Белешка
белешке : Морате користити апсолутни УРЛ када подешавате вредност за @odata.id.
Да бисте уклонили референцу, можете користити и овај DELETE захтев:
Захтев:
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
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Коришћење својстава навигације са вредношћу колекције
Са ОДата-ом, обе стране односа многих-на-више имају навигационе особине у вредности колекције. За односе један-на-више и више-на-један, табела један - 'Један' страна има навигацијску особину вредну колекције. Нема разлике у томе како радите са било којом од ових врста односа док користите својства навигације у вредности колекције. Овај одељак описује како радити са својствима навигације у вредности колекције са било којом врстом односа.
Додајте запис у колекцију
Следећи пример показује како да додате запис контакта у колекцију налога contact_customer_accounts, која је део односа један-на-више.
Захтев:
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)"
}
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Следећи пример показује како да додате запис улоге у колекцију системусер systemuserroles_association, што је однос више-на-много.
Захтев:
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)"
}
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Уклањање записа из колекције
Следећи пример показује како да уклоните запис контакта у колекцији налога contact_customer_accounts где је 00aa00aa-bb11-cc22-dd33-44ee44ee44ee вредност контакта contactid .
Захтев:
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
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Следећи захтев такође ради:
Захтев:
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
Одговор:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Погледајте и
Узорак основних операција Веб АПИ-ја (Ц #)
Узорак основних операција Веб АПИ-ја (ЈаваСцрипт на страни клијента)
Обављање операција помоћу Веб АПИ-ја
Саставите Хттп захтеве и грешке у руковању
Упитни подаци помоћу Веб АПИ-ја
Креирајте ред табеле користећи Веб АПИ
Преузмите ред табеле користећи Веб АПИ
Ажурирајте и избришите редове табеле помоћу Веб АПИ-ја
Користите Веб АПИ функције
Користите Веб АПИ акције
Извршите батцх операције користећи Веб АПИ
Лажно представљање другог корисника користећи Веб АПИ
Извршите условне операције користећи Веб АПИ