Usar una clave alternativa para crear un registro

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Ahora puede utilizar claves alternativas para crear instancias de clases Entity y EntityReference. Este tema analiza los patrones de uso y las excepciones posibles que se pueden lanzar cuando se usan claves alternativas. Para comprender cómo definir las claves alternativas para una entidad, consulte Defina claves alternativas para una entidad.

En este tema

Uso de claves alternativas para crear una entidad

Uso de claves alternativas para crear una EntityReference

Entrada alternativa a mensajes

Excepciones al utilizar claves alternativas

Uso de claves alternativas para crear una entidad

Ahora puede crear un Entity con un Id. primario o con un solo KeyAttribute en una sola llamada utilizando el nuevo constructor.

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

Un Entity válido usado para operaciones de actualización incluye un nombre lógico de la entidad y uno de los siguientes:

  • Un valor para el Id. (valor de GUID de clave principal) (o bien)

  • Un KeyAttributeCollection con un conjunto válido de atributos que coincide con una clave definida para la entidad.

Uso de claves alternativas para crear una EntityReference

Ahora también puede crear un EntityReference sin un Id. primario y con un solo KeyAttribute en una sola llamada utilizando el nuevo constructor.

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

Un EntityReference válido incluye un nombre lógico de la entidad y:

  • Un valor para el Id. (valor de GUID de clave principal) o bien

  • Una colección KeyAttributeCollection con un conjunto válido de atributos que coincide con una clave definida para la entidad.

Entrada alternativa a mensajes

Al pasar las entidades a CreateRequest y UpdateRequest, los valores que se proporcionan para los atributos de búsqueda mediante una EntityReference pueden utilizar ahora EntityReference con claves alternativas definidas en el KeyAttributes para especificar el registro relacionado.  Estos se resolverán y reemplazarán con las referencias de entidad basadas en Id. principal antes de que se procesen los mensajes.

Excepciones al utilizar claves alternativas

Es necesario conocer las siguientes condiciones y excepciones posibles para utilizar claves alternativas:

  • El Id. principal se usa si se proporciona. Si no se proporciona, examinará el KeyAttributeCollection. Si no se proporciona el KeyAttributeCollection, lanzará un error.

  • Si el KeyAttributeCollection proporcionado incluye un atributo que es la clave principal de la entidad y el valor es válido, éste rellena la propiedad de Id. del Entity o EntityReference con el valor proporcionado.

  • Si se proporcionan los atributos de clave, el sistema trata de hacer coincidir el conjunto de atributos suministrado con las claves definidas para la Entity. Si no encuentra una coincidencia, lanzará un error. Si encuentra una coincidencia, validará los valores proporcionados para esos atributos. Si es válido, recuperará el Id. del registro que coincidió con valores clave proporcionados, y rellena el valor de Id. de Entity o EntityReference con este valor.

  • Si especifica un atributo establecido que no está definido como única clave, se lanzará un error que indica que el uso de atributos de clave únicos es obligatorio.

Ver también

Defina claves alternativas para una entidad
Uso del seguimiento de cambios para sincronizar los datos con sistemas externos
Use Upsert para insertar o actualizar un registro

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright