Definire le chiavi alternative per un'entità
Data di pubblicazione: gennaio 2017
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Tutti i record di Microsoft Dynamics 365 hanno un identificatore univoco definito GUID. Questi GUID costituiscono la chiave primaria per ogni entità. Quando devi eseguire l'integrazione con un archivio di dati esterno, potresti essere in grado di aggiungere una colonna alle tabelle del database esterno per contenere un riferimento all'identificatore univoco in Dynamics 365. Ciò ti consente di avere un riferimento locale al collegamento del record di Dynamics 365. Tuttavia, talvolta non puoi modificare il database esterno. Con le chiavi alternative puoi ora definire un attributo in un'entità di Dynamics 365 per corrispondere un identificatore univoco (o una combinazione univoca di colonne) utilizzato dall'archivio di dati esterno. Questa chiave alternativa può essere utilizzata per identificare in modo univoco un record in Dynamics 365 al posto della chiave primaria. Devi essere in grado di definire gli attributi che rappresentano un'identità univoca per i record. Dopo aver individuato attributi univoci per l'entità, puoi dichiararli come chiavi alternative tramite l'interfaccia utente di personalizzazione o il codice. In questo argomento sono disponibili informazioni sulla definizione delle chiavi alternative nel modello di dati.
In questo argomento
Creare chiavi alternative
Recuperare ed eliminare le chiavi alternative
Monitorare la creazione dell'indice per le chiavi alternative
Creare chiavi alternative
Puoi creare le chiavi alternative a livello di programmazione o tramite gli strumenti di personalizzazione. Per ulteriori informazioni sull'utilizzo degli strumenti di personalizzazione, vedi Definire le chiavi alternative per fare riferimento a record CRM.
Per definire le chiavi alternative a livello di codice, devi prima creare un oggetto di tipo EntityKeyMetadata. Questa classe contiene gli attributi di chiave. Una volta impostati gli attributi di chiave, puoi utilizzare il messaggio CreateEntityKeyRequest per creare le chiavi per un'entità. Questo messaggio prende il nome di entità e i valori di EntityKeyMetadata come input per creare la chiave.
È opportuno conoscere i vincoli quando crei le chiavi alternative:
Attributi validi per le definizioni di chiave
Solo gli attributi dei tipi seguenti possono essere inclusi nelle definizioni di chiave alternativa:
Tipo di attributo
Nome visualizzato
DecimalAttributeMetadata
Numero decimale
IntegerAttributeMetadata
Numero intero
StringAttributeMetadata
Una riga di testo
Dimensione valida della chiave
Quando si crea una chiave, il sistema convalida che la chiave può essere supportata dalla piattaforma, incluso che la dimensione totale della chiave non viola i vincoli dell'indice Basato su SQL ad esempio 900 byte per chiave e 16 colonne per chiave. Se la dimensione della chiave non soddisfa i vincoli, viene visualizzato un messaggio di errore.
Numero massimo di definizioni di chiave alternativa per un'entità
Si possono specificare fino a un massimo di 5 definizioni di chiave alternativa per un'entità in Dynamics 365.
Recuperare ed eliminare le chiavi alternative
Se devi recuperare o eliminare le chiavi alternative, puoi utilizzare l'interfaccia utente di personalizzazione a tale scopo, senza scrivere il codice. Tuttavia, l'SDK fornisce i due messaggi per recuperare ed eliminare le chiavi alternative a livello di programmazione.
Classe di richiesta messaggio |
Descrizione |
---|---|
Recupera la chiave alternativa specificata. |
|
Elimina la chiave alternativa specificata. |
Per recuperare tutte le chiavi di un'entità, utilizzare la nuova proprietà Keys della classe EntityMetadata. Ottiene un array di chiavi per un'entità.
Monitorare la creazione dell'indice per le chiavi alternative
Chiavi alternative utilizzano gli indici del database per applicare unicità e ottimizzare le prestazioni di ricerca. Se sono presenti molti record esistenti in una tabella, la creazione dell'indice può essere un processo lungo. È possibile aumentare i tempi di risposta dell'interfaccia utente di personalizzazione e l'importazione della soluzione eseguendo la creazione dell'indice come processo in background. La proprietà AsyncJob fa riferimento al processo asincrono che effettua la creazione dell'indice. La proprietà EntityKeyIndexStatus specifica lo stato della chiave come stati di avanzamento del processo di creazione dell'indice. Gli stati possono essere:
In sospeso
In corso
Attivo
Errore
Quando una chiave alternativa viene creata utilizzando l'API, se la creazione dell'indice non riesce, puoi visualizzare i dettagli sulla causa dell'errore, correggere i problemi e riattivare la richiesta della chiave con il messaggio ReactivateEntityKeyRequest.
Se la chiave alternativa viene eliminata mentre un processo di creazione dell'indice è ancora in corso o è stato sospeso, il processo viene annullato e l'indice viene eliminato.
Vedere anche
Utilizzare una chiave alternativa per creare un record
Utilizzare il rilevamento delle modifiche per sincronizzare i dati con sistemi esterni
Utilizzare Upsert per inserire o aggiornare un record
Microsoft Dynamics 365
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright