Usar uma chave alternativa para criar um registro
Publicado: novembro de 2016
Aplicável a: Dynamics CRM 2015
Agora você pode usar as chaves alternativas para criar instâncias de classes Entity e EntityReference. Este tópico discute os padrões de uso e as exceções possíveis que podem ser geradas ao usar as chaves alternativas. Para compreender como definir chaves alternativas para uma entidade, consulte Definir chaves alternativas para uma entidade.
Observação
Para organizações que utilizam o Microsoft Dynamics CRM Online, esse recurso só estará disponível se a sua organização tiver atualizado para a Atualização 1 do Dynamics CRM Online 2015. Este recurso não está disponível para o Dynamics CRM (local).
Neste tópico
Usando as chaves alternativas para criar uma entidade
Usando chaves alternativas para criar uma EntityReference
Entrada alternativa para mensagens
Exceções ao usar chaves alternativas
Usando as chaves alternativas para criar uma entidade
Agora você pode criar um Entity com uma ID principal ou um único KeyAttribute em uma chamada única usando o novo construtor.
public Entity (string logicalName, Guid id) {…}
public Entity (string logicalName, string keyName, object keyValue) {…}
public Entity (string logicalName, KeyAttributeCollection keyAttributes) {…}
Um Entity válido usado para atualizar operações inclui um nome lógico da entidade e uma das seguintes opções:
Um valor para a ID (valor GUID da chave primária) (ou)
Um KeyAttributeCollection com um conjunto de atributos válidos que correspondem a uma chave definida para a entidade.
Usando chaves alternativas para criar uma EntityReference
Agora você também pode criar um EntityReference sem uma ID principal, e com um único KeyAttribute em uma chamada única usando o novo construtor.
public EntityReference(string logicalName, Guid id) {…}
public EntityReference(string logicalName, string keyName, object keyValue) {…}
public EntityReference(string logicalName, KeyAttributeCollection keyAttributeCollection) {…}
Um EntityReference válido inclui um nome lógico da entidade e uma destas opções:
Um valor para a ID (valor GUID da chave primária) ou
Uma coleção de KeyAttributeCollection com um conjunto de atributos válidos que correspondem a uma chave definida para a entidade.
Entrada alternativa para mensagens
Ao passar entidades para a CreateRequest e a UpdateRequest, os valores fornecidos para os Atributos de pesquisa usando uma EntityReference podem agora usar a EntityReference com chaves alternativas definidas em KeyAttributes para especificar o registro relacionado. Elas serão resolvidas e substituídas por uma ID principal com base nas referências de entidades antes que as mensagens sejam processadas.
Exceções ao usar chaves alternativas
Você precisa estar ciente das seguintes condições e possíveis exceções ao usar chaves alternativas:
A ID principal é usada quando é fornecida. Se ela não for fornecida, examinará KeyAttributeCollection. Se KeyAttributeCollection não for fornecida, gerará um erro.
Se o KeyAttributeCollection fornecido incluir um atributo que é a chave primária da entidade e o valor for válido, ele preencherá a propriedade da ID do Entity ou EntityReference com o valor fornecido.
Se os atributos de chave são fornecidos, o sistema tenta corresponder ao conjunto de atributos fornecidos com as chaves definidas para Entity. Se não encontrar uma correspondência, gerará um erro. Se encontrar uma correspondência, validará os valores fornecidos para esses atributos. Se for válido, recuperará a ID do registro que correspondeu aos valores de chave fornecidos, e preencherá o valor de ID de Entity ou EntityReference com esse valor.
Se você especificar um conjunto de atributos que não esteja definido como uma chave exclusiva, um erro será gerado indicando que o uso de atributos de chave exclusiva é necessário.
Confira Também
Definir chaves alternativas para uma entidade
Usar o controle de alterações para sincronizar dados com sistemas externos
Usar Upsert para inserir ou atualizar um registro
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais