Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Кесте анықтамалары арасындағы қатынастарды пайдаланып кесте жолдарындағы жеке жазбаларды басқа жазбалармен байланыстыруға болады. ДДСҰ-да қатынастар навигациялық қасиеттер ретінде көрсетіледі.
Сіз $metadata қызмет құжатында қандай шарлау сипаттары бар екенін біле аласыз. Веб-API шарлау сипаттарын қараңыз. Қолданыстағы Dataverse кестелері үшін Web API EntityType Reference бөлімін қараңыз
, әр субъект түрі үшін тізімделген бір мәнді және коллекциялық навигациялық қасиеттерді қараңыз.
Төмендегі кестеде Dataverse бағдарламасындағы кестелер арасындағы қатынастардың үш түрі сипатталады.
| РаT� | Сипаттама | Мысал |
|---|---|---|
| Бір-біріне | Бір жазбада онымен байланысты көптеген жазбалар болуы мүмкін. |
Тіркелгі жазбасында жиынтық құндылығы бар шарлау сипабындаcontact_customer_accounts көптеген контактілер жазбалары болуы мүмкін. |
| Көп-біреу | Көптеген жазбаларды бір жазбамен байланыстыруға болады. Көп-біреу - бұл бір-бірінің қарым-қатынасының айна бейнесі. Бір ғана қарым-қатынас бар. |
Бірнеше контакт жазбаларын бір мәнді шарлау сипатын пайдаланып parentcustomerid_account бір тіркелгі жазбасымен байланыстыруға болады. |
| Көп-көпке | Көптеген жазбаларды көптеген жазбалармен байланыстыруға болады. | Әрбір қауіпсіздік рөлі (рөлі)жүйе пайдаланушының анықтамасына сілтемелерді қамтуы мүмкін. Бұл кестелердің екеуінде systemuserroles_association бар. |
Бір мәнді шарлау сипаттарын пайдалану
Бір-көпке немесе көпке қатынастың көп жағындағы бар жазбалар үшін Uri сілтемесін басқа жазбаға орнату арқылы жазбаны байланыстыруға болады. Мұны істеудің ең оңай және кең таралған тәсілі - бір мәнді шарлау сипатына аннотацияны қосу @odata.bind , содан кейін сұраудағы басқа жазбаға PATCH мәнді Uri ретінде орнату.
Бір мәнді шарлау сипатымен байланыстыру
Мысалы, байланыс жазбасын есептік жазбаға байланыстыру үшін бір мәнді навигация қасиеті 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)
Create бөліміндегі Associate table қатарларында сипатталғандай, жаңа жазбаларды бұрынғы жазбалармен байланыстыра аласыз.
Бір мәнді навигациялық қасиетті пайдаланып диссоциация жасау
Ажырату үшін мәнін null деп қойыңыз.
Сұраныс:
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абсолютті URL қолдану керек.
Сілтемені жою үшін келесі 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
Жинақтық мәнді шарлау сипаттарын пайдалану
OData көмегімен көп-көпке қатынастың екі жағында да коллекциялық құнды шарлау қасиеттері бар. Бірден-көпке және көп-бірге қатынастар үшін 'One' жағындағы кестеде коллекция құндылығы бойынша навигациялық қасиет бар. Коллекциялық құнды навигациялық қасиеттерді қолданғанда осындай қатынастармен қалай жұмыс істеуде айырмашылық жоқ. Бұл бөлімде кез келген қатынас түрі үшін жинақ мәніндегі навигациялық қасиеттермен қалай жұмыс істеу керектігі сипатталады.
Жинаққа жазба қосу
Келесі мысалда бір-көпке қатынастың бөлігі болып табылатын тіркелгі жинағына 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
Келесі мысалда көптен көпке қатынас болып табылатын systemusersystemuserroles_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бар contactid00aa00aa-bb11-cc22-dd33-44ee44ee44ee жинағына жою жолы көрсетілген.
Сұраныс:
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
Келесіні де қараңыз:
Web API негізгі операцияларының үлгісі (C#)
Web API негізгі операцияларының үлгісі (клиент жағындағы JavaScript)
Web API көмегімен операцияларды орындау
HTTP сұрауларын жасау және қателерді өңдеу
Web API көмегімен сұрау деректері
Веб-API арқылы кесте жолын жасау
Веб-API арқылы кесте жолын алу
Веб-API арқылы кесте жолдарын жаңарту және жою
Веб-API функцияларын пайдалану
Web API әрекеттерін пайдалану
Веб-API арқылы пакеттік операцияларды орындау
Веб-API арқылы басқа пайдаланушыны имитациялау
Веб-API арқылы шартты операцияларды орындау