Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Du kan knytte individuelle poster i tabelrækker til andre poster ved hjælp af relationer, der findes mellem tabeldefinitionerne. I OData udtrykkes relationerne som navigationsegenskaber.
Du kan finde ud af, hvilke navigationsegenskaber der findes i $metadata tjenestedokumentet. Se Web API Navigation Properties. Du kan se eksisterende Dataverse-tabeller i Reference til Web API EntityType
for hver objekttype skal du se de angivne navigationsegenskaber med en enkelt værdi og samlingsværdi.
I følgende tabel beskrives de tre typer relationer mellem tabeller i Dataverse.
| Type | Beskrivelse | Eksempel |
|---|---|---|
| En til mange | Én post kan have mange poster tilknyttet. | En kontopostering kan have mange kontaktoptegnelser i contact_customer_accountsnavigationsegenskab med samlingsværdi. |
| Mange til en | Mange poster kan være knyttet til én post. Mange til en er det spejlbillede af en en til mange-relation. Der er kun én forbindelse. |
Flere kontaktposter kan knyttes til en enkelt kontopost ved hjælp af parentcustomerid_account med en enkelt værdi. |
| Mange til mange | Mange registre kan forbindes med mange registre. | Hver sikkerhedsrolle (rolle) kan indeholde referencer til definitionen af en systembruger. Begge disse tabeller har en systemuserroles_associationnavigationsegenskab med samlingsværdi. |
Brug af navigationsegenskaber med en enkelt værdi
For eksisterende poster på mange-siden af en en til mange- eller mange til en-relation kan du knytte posten ved at angive en URI-reference til den anden post. Den nemmeste og mest almindelige måde at gøre dette på er at føje anmærkningen @odata.bind til navnet på navigationsegenskaben med en enkelt værdi og derefter angive værdien som URI til den anden post i en PATCH anmodning.
Knyt til en navigationsegenskab med en enkelt værdi
Hvis du f.eks. vil knytte en kontaktpost til en kontopost ved hjælp af navigationsegenskaben parentcustomerid_account med en enkelt værdi:
Bøn:
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)"
}
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Som beskrevet i Tilknyt tabelrækker ved oprettelse kan du også knytte nye poster til eksisterende poster på samme måde.
Fjern tilknytningen ved hjælp af en navigationsegenskab med en enkelt værdi
Hvis du vil fjerne tilknytningen, skal du angive værdien til null.
Bøn:
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
}
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Når du har fjernet tilknytningen ved hjælp af denne metode, skal du ikke medtage anmærkningen @odata.bind . Brug navnet på navigationsegenskaben med en enkelt værdi:
Bøn:
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
}
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Flere oplysninger: Grundlæggende opdatering
Andre metoder
Du kan bruge andre metoder til at opnå de samme resultater, der tidligere er beskrevet med navigationsegenskaber med en enkelt værdi.
Brug følgende PUT anmodning til at angive værdien af navigationsegenskaben parentcustomerid_account med en enkelt værdi:
Bøn:
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)"
}
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Notat
Du skal bruge en absolut URL-adresse, når du angiver værdien for @odata.id.
Hvis du vil fjerne referencen, skal du bruge denne DELETE anmodning:
Bøn:
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
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Brug af navigationsegenskaber med samlingsværdi
Med OData har begge sider af en mange-til-mange-relation navigeringsegenskaber med samlingsværdier. For en til mange- og mange til en-relationer har tabellen på 'En'-siden en navigationsegenskab med samlingsværdi. Der er ingen forskel på, hvordan du arbejder med nogen af disse typer relationer, mens du bruger navigationsegenskaber med samlingsværdi. I dette afsnit beskrives det, hvordan du arbejder med navigationsegenskaber med samlingsværdi for alle typer relationer.
Føj en post til en samling
I følgende eksempel kan du se, hvordan du føjer en kontaktpost til kontosamlingencontact_customer_accounts , som er en del af en en til mange-relation.
Bøn:
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)"
}
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
I følgende eksempel kan du se, hvordan du føjer en rollepost til systembrugersamlingensystemuserroles_association , som er en mange til mange-relation.
Bøn:
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)"
}
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Fjern en post fra en samling
I følgende eksempel kan du se, hvordan du fjerner en kontaktpost til den kontosamlingcontact_customer_accounts , hvor kontaktværdien contactid er 00aa00aa-bb11-cc22-dd33-44ee44ee44ee.
Bøn:
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
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Følgende anmodning fungerer også:
Bøn:
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
Svar:
HTTP/1.1 204 NoContent
OData-Version: 4.0
Se også
Eksempel på grundlæggende handlinger for Web API (C#)
Web API Basic Operations Sample (JavaScript på klientsiden)
Udføre handlinger ved hjælp af Web-API'en
Opret Http-anmodninger, og håndter fejl
Forespørg om data ved hjælp af web-API'en
Oprette en tabelrække ved hjælp af Web-API'en
Hent en tabelrække ved hjælp af Web-API'en
Opdater og slet tabelrækker ved hjælp af Web-API'en
Brug web-API-funktioner
Bruge Web API-handlinger
Udfør batchhandlinger ved hjælp af web-API'en
Repræsenter en anden bruger ved hjælp af web-API'en
Udfør betingede handlinger ved hjælp af web-API'en