Alternatieve sleutels voor een entiteit definiëren
Gepubliceerd: november 2016
Is van toepassing op: Dynamics CRM 2015
Alle Microsoft Dynamics 365-records hebben unieke identificaties die zijn gedefinieerd als GUID's. Deze vormen de primaire sleutel voor elke entiteit. Als u moet integreren met een extern gegevensarchief, bent u mogelijk in staat een kolom toe te voegen aan de externe databasetabellen zodat deze een verwijzing naar de unieke identificatie bevatten in Dynamics 365. Hierdoor kunt u over een lokale verwijzing beschikken die verwijst naar de Dynamics 365-record. Soms kunt u de externe database echter niet wijzigen. Met alternatieve sleutels kunt u nu een kenmerk in een Dynamics 365-entiteit definiëren dat correspondeert met een unieke id (of unieke combinatie van kolommen) die wordt gebruikt door het externe gegevensarchief. Deze alternatieve sleutel kan worden gebruikt om een record in Dynamics 365 uniek te identificeren, in plaats van de primaire sleutel. U moet in staat zijn te definiëren welke kenmerken een unieke identiteit voor uw records vertegenwoordigen. Nadat u de kenmerken hebt geïdentificeerd die uniek zijn voor de entiteit, kunt u deze declareren als alternatieve sleutels via de gebruikersinterface (UI) voor aanpassing of in de code. Dit onderwerp bevat informatie over het definiëren van alternatieve sleutels in het gegevensmodel.
Notitie
Voor Microsoft Dynamics CRM Online-organisaties is deze functie alleen beschikbaar als uw organisatie is bijgewerkt naar Dynamics CRM Online 2015 Update 1. Deze functie is niet beschikbaar voor Dynamics CRM (on-premises).
In dit onderwerp
Alternatieve sleutels maken
Alternatieve sleutels ophalen en verwijderen
Het maken van indexen voor alternatieve sleutels controleren
Alternatieve sleutels maken
U kunt alternatieve sleutels via programmeren maken of met de aanpassingshulpmiddelen. Zie Alternatieve sleutels definiëren om te verwijzen naar CRM-records voor meer informatie over het gebruik van de hulpmiddelen voor aanpassing.
Als u alternatieve sleutels via programmeren wilt definiëren, moet u eerst ee object maken van het type EntityKeyMetadata. Deze klasse bevat de sleutelkenmerken. Nadat de sleutelkenmerken zijn ingesteld, kunt u het CreateEntityKeyRequest-bericht gebruiken om de sleutels voor een entiteit te maken. Dit bericht gebruikt de naam van de entiteit en EntityKeyMetadata-waarden als invoer voor het maken van de sleutel.
Wees u bewust van de volgende beperkingen bij het maken van alternatieve sleutels:
Geldige kenmerken in sleuteldefinities
Alleen kenmerken van de volgende typen kunnen worden opgenomen in definities van alternatieve sleutels:
Type kenmerk
Weergavenaam
DecimalAttributeMetadata
Decimaal getal
IntegerAttributeMetadata
Geheel getal
StringAttributeMetadata
Eén tekstregel
Geldige sleutelgrootte
Bij het maken van een sleutel valideert het systeem of de sleutel kan worden ondersteund door het platform, inclusief of de totale sleutelgrootte niet de beperkingen voor de Op SQL gebaseerd-index, zoals 900 bytes per sleutel en 16 kolommen per sleutel, overschrijdt. Als de sleutelgrootte niet aan de beperkingen voldoet, wordt een foutmelding weergegeven.
Maximale aantal alternatieve sleuteldefinities voor een entiteit
Er kunnen maximaal 5 alternatieve sleuteldefinities zijn voor een entiteit in een exemplaar van Dynamics 365.
Alternatieve sleutels ophalen en verwijderen
Als u alternatieve sleutels moet ophalen of verwijderen, kunt u de aanpassings-UI gebruiken om dit te doen, zonder enige code te schrijven. Toch biedt de SDK de volgende twee berichten voor het via programmeren ophalen en verwijderen van alternatieve sleutels.
Berichtaanvraagklasse |
Beschrijving |
---|---|
Haalt de opgegeven alternatieve sleutel op. |
|
Verwijdert de opgegeven alternatieve sleutel. |
Als u alle sleutels voor een entiteit wilt ophalen, gebruikt u de nieuwe eigenschap Keys van de klasse EntityMetadata. Hiermee wordt een matrix van sleutels voor een entiteit opgehaald.
Het maken van indexen voor alternatieve sleutels controleren
Alternatieve sleutels gebruiken database-indexen om uniciteit af te dwingen en opzoekprestaties te optimaliseren. Als er veel bestaande records in een tabel zijn, kan het maken van de index een langdurig proces zijn. U kunt de reactiesnelheid van de aanpassings-UI en de importsnelheid voor de oplossing verhogen door het maken van de index als achtergrondproces uit te voeren. De eigenschap AsyncJob verwijst naar de asynchrone taak die het maken van de index uitvoert. De eigenschap EntityKeyIndexStatus geeft de status van de sleutel op tijdnes de uitvoering van de taak voor het maken van de index. De volgende statussen zijn mogelijk:
In behandeling
Wordt uitgevoerd
Actief
Mislukt
Als een alternatieve sleutel wordt gemaakt met de API kunt u, als het maken van de index mislukt, de details bekijken van de oorzaak van de mislukking, de problemen verhelpen en de sleutelaanvraag opnieuw activeren via het ReactivateEntityKeyRequest-bericht.
Als de alternatieve sleutel wordt verwijderd terwijl een taak voor het maken van de index nog uitstaat of in uitvoering is, wordt de taak geannuleerd en wordt de index verwijderd.
Zie ook
Een alternatieve sleutel gebruiken voor het maken van een record
Tracering gebruiken om gegevens te synchroniseren met externe systemen
Upsert gebruiken om een record in te voegen of bij te werken
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht