Del via


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

RetrieveEntityKeyRequest

Henter den angivne alternative nøgle.

DeleteEntityKeyRequest

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