Del via


Brug en alternativ nøgle til at oprette en post

 

Udgivet: november 2016

Gælder for: Dynamics CRM 2015

Du kan nu bruge alternative nøgler til at oprette forekomster af Entity- og EntityReference-klasser. I dette emne beskrives de forbrugsmønster og mulige undtagelser, der kan opstå under brug af alternative nøgler. For at forstå, hvordan du definerer alternative nøgler for et objekt, kan du se Definer alternative nøgler for et objekt.

Bemærk

For Microsoft Dynamics CRM Online-organisationer er denne funktion kun tilgængelig, hvis organisationen har opdateret til Dynamics CRM Online 2015 Update 1. Denne funktion er ikke tilgængelig for Dynamics CRM (i det lokale miljø).

Dette emne indeholder

Bruge alternative nøgler til at oprette et objekt

Brug alternative nøgler til at oprette en EntityReference

Alternativt input til meddelelser

Undtagelser, når du bruger alternative nøgler

Bruge alternative nøgler til at oprette et objekt

Du kan nu oprette en Entity med et primær id eller med en enkelt KeyAttribute i et enkelt kald ved hjælp af den nye konstruktør.

public Entity (string logicalName, Guid id) {…}  
public Entity (string logicalName, string keyName, object keyValue) {…}
public Entity (string logicalName, KeyAttributeCollection keyAttributes) {…}  

En gyldig Entity, som bruges til opdateringshandlinger, omfatter et logisk navn på enheden og en af følgende:

  • En værdi for id (værdi for primær nøgle-GUID) (eller)

  • En KeyAttributeCollection med et gyldigt sæt attributter, der svarer til en nøgle, der er defineret for objektet.

Brug alternative nøgler til at oprette en EntityReference

Du kan også oprette en EntityReference uden et primær id eller med en enkelt KeyAttribute i et enkelt kald ved hjælp af den nye konstruktør.

public EntityReference(string logicalName, Guid id) {…}  
public EntityReference(string logicalName, string keyName, object keyValue) {…}  
public EntityReference(string logicalName, KeyAttributeCollection keyAttributeCollection) {…}  

En gyldig EntityReference omfatter et logisk navn på objektet, og enten:

  • En værdi for id (værdi for primær nøgle-GUID) (eller)

  • En KeyAttributeCollection-samling med et gyldigt sæt attributter, der svarer til en nøgle, der er defineret for objektet.

Alternativt input til meddelelser

Ved overførsel af objekter til CreateRequest og UpdateRequest, kan værdier for opslagsattributter, der bruger en EntityReference, nu bruge EntityReference med alternative nøgler defineret i KeyAttributes for at specificere en relateret post.  Disse henføres til og erstattes af primære id-baserede objektreferencer, før meddelelserne behandles.

Undtagelser, når du bruger alternative nøgler

Du skal være opmærksom på følgende betingelser og mulige undtagelser, når du bruger alternative nøgler:

  • Det primære id bruges, hvis det findes. Hvis det ikke findes, undersøger det KeyAttributeCollection. Hvis KeyAttributeCollection ikke er angivet, opstår der en fejl.

  • Hvis den angivne KeyAttributeCollection indeholder en attribut, der er den primære nøgle i objektet, og værdien er gyldig, udfylder den id-egenskaben for Entity eller EntityReference med den angivne værdi.

  • Såfremt nøgleattributterne er angivet, forsøger systemet at matche det sæt attributter, der er angivet med nøglerne, der er defineret for Entity. Hvis der ikke findes et match, opstår der en fejl. Hvis der findes et match, valideres de angivne værdier for disse attributter. Hvis de er gyldige, hentes id'et for den post, der svarede til de angivne nøgleværdier, og id-værdien for Entity eller EntityReference udfyldes med denne værdi.

  • Hvis du angiver et attributsæt, der ikke er defineret som en entydig nøgle, vil en fejl opstå, der angiver, at brug af entydige nøgleattributter kræves.

Se også

Definer alternative nøgler for et objekt
Brug ændringssporing til at synkronisere data med eksterne systemer
Brug Upsert til at indsætte eller opdatere en post

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret