Definer alternative nøgler for et objekt
Udgivet: november 2016
Gælder for: Dynamics CRM 2015
Alle Microsoft Dynamics 365-poster har entydige id'er, der er defineret som GUID'er. Dette er den primære nøgle for hvert objekt. Når du skal integrere med et eksternt datalager, kan du muligvis tilføje en kolonne til eksterne databasetabeller, som skal indeholde en reference til det entydige id i Dynamics 365. På denne måde kan du kan have en reference, som du kan kæde sammen med Dynamics 365 posten. Dog kan du ikke altid ændre den eksterne database. Med alternative nøgler kan nu definere en attribut i et Dynamics 365-objekt svarende til et entydigt id (eller entydig kombination af kolonner), der er brugt af det eksterne datalager. Denne alternative nøgle kan bruges til entydigt at identificere en post i Dynamics 365 i stedet for den primære nøgle. Du skal kunne definere, hvilke attributter der repræsenterer et entydigt id for dine poster. Når du har identificeret de attributter, der er entydige for objektet, kan du erklære dem som alternative nøgler via brugergrænsefladen (UI) for tilpasning eller i koden. Dette emne indeholder oplysninger om at definere alternative nøgler i datamodellen.
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
Opret alternative nøgler
Hent og slet alternative nøgler
Overvåg oprettelse af indeks for alternative nøgler
Opret alternative nøgler
Du kan oprette alternative nøgler, enten automatisk eller ved hjælp af tilpasningsværktøjerne. Du kan finde flere oplysninger om brug af tilpasningsværktøjerne under Definer alternative nøgler for at henvise til CRM-poster.
Når du vil definere alternative nøgler via programmering, skal du først oprette et objekt af typen EntityKeyMetadata. Denne klasse indeholder nøgleattributterne. Når nøgleattributterne er angivet, kan du bruge meddelelsen CreateEntityKeyRequest til at oprette nøgler til et objekt. Denne meddelelse bruger objektnavnet og EntityKeyMetadata-værdierne som input under oprettelsen af nøglen.
Du skal være opmærksom på følgende begrænsninger, når du opretter alternative nøgler:
Gyldige attributter i vigtige definitioner
Kun attributter for følgende typer kan medtages i alternativ nøgle definitioner:
Attributtype
Vist navn
DecimalAttributeMetadata
Decimaltal
IntegerAttributeMetadata
Heltal
StringAttributeMetadata
Enkelt tekstlinje
Gyldig nøglestørrelse
Når der oprettes en nøgle, kontrollerer systemet, at nøglen understøttes af platformen, herunder at den samlede nøglestørrelse ikke overstiger SQL-baseret-indeksbegrænsninger som f.eks. 900 byte pr. nøgle og 16 kolonner pr. nøgle. Hvis nøglestørrelsen ikke opfylder betingelserne, vises en fejlmeddelelse.
Det maksimale antal alternative nøgledefinitioner for et objekt
Der kan højst være 5 alternative nøgledefinitioner for et objekt i en Dynamics 365 forekomst.
Hent og slet alternative nøgler
Hvis du har behov for at hente eller slette alternative nøgler, kan du bruge brugergrænsefladen for tilpasning til dette, uden at skrive kode. SDK indeholder dog følgende to meddelelser til at hente og slette alternative nøgler via programmering.
Meddelelsesanmodningsklasse |
Beskrivelse |
---|---|
Henter den angivne alternative nøgle. |
|
Sletter den angivne alternative nøgle. |
Hvis du vil hente alle nøgler for et objekt, skal du bruge den nye Keys-egenskab for EntityMetadata-klassen. Den henter en række taster for et objekt.
Overvåg oprettelse af indeks for alternative nøgler
Alternative nøgler bruger databaseindeks til at gennemtvinge entydighed og optimere ydeevnen for opslag. Hvis der er masser af eksisterende poster i en tabel, kan oprettelse af indeks tage lang tid. Du kan øge reaktionsevnen for brugerfladetilpasning og løsningsimport ved at oprette indeks som en baggrundsproces. Egenskab AsyncJob refererer til det asynkrone job, der udfører oprettelse af indeks. Egenskaben EntityKeyIndexStatus angiver status for nøglen, efterhånden som dens indeksoprettelsesjob skrider frem. Status kan være en af følgende:
Afventer
I gang
Aktiv
Mislykkedes
Når en alternativ nøgle oprettes ved hjælp af API'en, og hvis oprettelse af indeks mislykkes, kan du dykke ned i detaljer om årsagen til fejlen, løse problemerne og genaktivere nøgleanmodningen ved hjælp af meddelelsen ReactivateEntityKeyRequest.
Hvis den alternative nøgle slettes, mens et indeksoprettelsesjob stadig ventende eller er i gang, annulleres jobbet, og indekset slettes.
Se også
Brug en alternativ nøgle til at oprette en post
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