Condividi tramite


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

RetrieveEntityKeyRequest

Recupera la chiave alternativa specificata.

DeleteEntityKeyRequest

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