Definir chaves alternativas para uma entidade
Publicado: novembro de 2016
Aplicável a: Dynamics CRM 2015
Todos os registros do Microsoft Dynamics 365 têm identificadores exclusivos definidos como GUIDs. Estas são as chaves primárias de cada entidade. Quando você precisa se integrar a um repositório de dados externos, pode adicionar uma coluna às tabelas de banco de dados externas para incluir uma referência ao identificador exclusivo no Dynamics 365. Isso permite que você tenha uma referência local para vincular ao registro Dynamics 365. Entretanto, às vezes não é possível modificar o banco de dados externo. As chaves alternativas agora permitem que você defina um atributo em uma entidade do Dynamics 365 para que ele corresponda a um identificador exclusivo (ou a uma combinação de colunas exclusiva) usado pelo repositório de dados externos. Essa chave alternativa pode ser usada para identificar com exclusividade um registro no Dynamics 365 em vez da chave primária. Você precisa ser capaz de definir os atributos que representam uma identidade exclusiva para seus registros. Após identificar os atributos que são exclusivos da entidade, você pode declará-los como chaves alternativas através da interface do usuário (UI) de personalização ou no código. Este tópico oferece informações sobre a como definir chaves alternativas no modelo de dados.
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
Criar chaves alternativas
Recuperar e excluir chaves alternativas
Monitorar a criação do índice para chaves alternativas
Criar chaves alternativas
Você pode criar chaves alternativas programaticamente ou usando as ferramentas de personalização. Para obter mais informações sobre o uso das ferramentas de personalização, consulte Definir chaves alternativas para referenciar registros do CRM.
Para definir chaves alternativas de forma programática, primeiro crie um objeto do tipo EntityKeyMetadata. Esta classe contém os atributos principais. Após a definição dos atributos principais, você pode usar a mensagem CreateEntityKeyRequest para criar as chaves para uma entidade. Esta mensagem usa o nome da entidade e os valores do EntityKeyMetadata como entrada para criar a chave.
Lembre-se das seguintes restrições ao criar chaves alternativas:
Atributos válidos em definições de chaves
Somente os seguintes tipos de atributos podem ser incluídos nas definições de chaves alternativas:
Tipo de Atributo
Nome para Exibição
DecimalAttributeMetadata
Número Decimal
IntegerAttributeMetadata
Número Inteiro
StringAttributeMetadata
Linha única de texto
Tamanho de chave válido
Quando uma chave é criada, o sistema valida que essa chave pode ter suporte da plataforma, incluindo que o tamanho total da chave não viola as restrições do índice Baseado em SQL como 900 bytes por chave e 16 colunas por chave. Se o tamanho da chave não atender as restrições, uma mensagem de erro será exibida.
Número máximo de definições de chave alternativa para uma entidade
São aceitas no máximo 5 definições de chave alternativa para uma entidade em uma instância do Dynamics 365.
Recuperar e excluir chaves alternativas
Se você precisar recuperar ou excluir chaves alternativas, poderá usar a interface do usuário de personalização para fazer isso, sem escrever códigos. Entretanto, o SDK oferece as duas mensagens a seguir para recuperar e excluir de forma programática chaves alternativas.
Classe de solicitação de mensagem |
Descrição |
---|---|
Recupera a chave alternativa especificada. |
|
Exclui a chave alternativa especificada. |
Para recuperar todas as chaves de uma entidade, use a nova propriedade Keys da classe EntityMetadata. Obtém uma matriz de chaves para uma entidade.
Monitorar a criação do índice para chaves alternativas
As chaves alternativas usam os índices do banco de dados para impor a exclusividade e otimizar o desempenho de pesquisa. Se houver vários registros existentes em uma lista, a criação do índice pode ser um processo demorado. Você pode aumentar a capacidade de resposta da interface do usuário de personalização e a importação de soluções por meio da criação do índice como um processo de segundo plano. A propriedade AsyncJob se refere ao trabalho assíncrono que está realizando a criação do índice. A propriedade EntityKeyIndexStatus especifica o status da chave à medida que o trabalho de criação avança. O status pode ser:
Pendente
Em Andamento
Ativo(a)
Falha
Quando uma chave alternativa é criada usando a API, se a criação do índice falhar, você poderá detalhar a causa da falha, corrigir os problemas e reativar a solicitação de chave usando a mensagem ReactivateEntityKeyRequest.
Se a chave alternativa for excluída quando um trabalho de criação de índice ainda estiver pendente ou em andamento, o trabalho será cancelado e o índice será excluído.
Confira Também
Usar uma chave alternativa para criar um registro
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