Usar una clave alternativa para crear un registro
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
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.
Nota
En las organizaciones de Microsoft Dynamics CRM Online, esta característica solo está disponible si su organización se ha actualizado a la Actualización 1 de Dynamics CRM Online 2015. Esta característica no está disponible para Dynamics CRM (local).
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
© 2017 Microsoft. Todos los derechos reservados. Copyright