Utilizzare una chiave alternativa per creare un record

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Puoi utilizzare le chiavi alternative per creare le istanze delle classi EntityReference e Entity. In questo argomento viene descritto l'utilizzo di modelli e le possibili eccezioni che possono essere generate quando si utilizzano le chiavi alternative. Per informazioni sulla definizione delle chiavi alternative per un'entità, vedi Definire le chiavi alternative per un'entità.

In questo argomento

Utilizzo delle chiavi alternative per creare un'entità

Utilizzo delle chiavi alternative per creare un elemento EntityReference

Input alternativo per i messaggi

Eccezioni durante l'utilizzo delle chiavi alternative

Utilizzo delle chiavi alternative per creare un'entità

Puoi creare un elemento Entity con un ID primario o con singolo KeyAttribute in un'unica chiamata utilizzando il nuovo costruttore.

public Entity (string logicalName, Guid id) {…}  
public Entity (string logicalName, string keyName, object keyValue) {…}
public Entity (string logicalName, KeyAttributeCollection keyAttributes) {…}  

Un elemento Entity valido utilizzato per le operazioni di aggiornamento include un nome logico dell'entità e uno degli elementi seguenti:

  • Un valore per l'ID (valore GUID della chiave primaria) oppure

  • Un elemento KeyAttributeCollection con un set valido di attributi corrispondenti a una chiave definita per l'entità.

Utilizzo delle chiavi alternative per creare un elemento EntityReference

Puoi anche creare un elemento EntityReference senza un ID primario e con singolo KeyAttribute in un'unica chiamata utilizzando il nuovo costruttore.

public EntityReference(string logicalName, Guid id) {…}  
public EntityReference(string logicalName, string keyName, object keyValue) {…}  
public EntityReference(string logicalName, KeyAttributeCollection keyAttributeCollection) {…}  

Un elemento EntityReference valido include il nome logico dell'entità e i seguenti elementi:

  • Un valore per l'ID (valore GUID della chiave primaria) oppure

  • Una raccolta KeyAttributeCollection con un set valido di attributi corrispondenti a una chiave definita per l'entità.

Input alternativo per i messaggi

Quando si passano le entità a CreateRequest e UpdateRequest, i valori forniti per gli attributi di tipo lookup utilizzando un elemento EntityReference possono ora utilizzare EntityReference con le chiavi alternative definite in KeyAttributes per specificare il record correlato.  Questi valori verranno restituiti e sostituiti dai riferimenti di entità basati sull'ID primario prima che i messaggi vengono elaborati.

Eccezioni durante l'utilizzo delle chiavi alternative

È opportuno conoscere le condizioni seguenti e le eccezioni possibili quando si utilizzano le chiavi alternative:

  • L'ID primario viene utilizzato se viene specificato. Se non viene specificato, viene esaminato KeyAttributeCollection. Se l'elemento KeyAttributeCollection non viene specificato, viene generato un errore.

  • Se l'elemento KeyAttributeCollection specificato include un attributo che costituisce la chiave primaria dell'entità e il valore è valido, popola la proprietà ID di Entity o EntityReference con il valore specificato.

  • Se gli attributi di chiave vengono specificati, il sistema tenta di eseguire la corrispondenza del set di attributi forniti con le chiavi definite per Entity. Se non trova una corrispondenza, verrà generato un errore. Se trova una corrispondenza, convaliderà i valori specificati per gli attributi. Se valido, recupera l'ID del record corrispondente ai valori specificati della chiave e popola il valore ID di Entity o EntityReference con questo valore.

  • Se si specifica un set di attributi non definito come chiave univoca, verrà generato un errore che indica che l'utilizzo degli attributi di chiave univoca è obbligatorio.

Vedere anche

Definire le chiavi alternative per un'entità
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