Definir chaves alternativas para uma entidade

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

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.

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

RetrieveEntityKeyRequest

Recupera a chave alternativa especificada.

DeleteEntityKeyRequest

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

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais