Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode mapear colunas entre tabelas que têm uma relação. Isso permite que você defina valores padrão para um registro criado no contexto de outro registro. Use as ferramentas de personalização no aplicativo para mapear tabelas; consulte Mapear colunas.
Comportamento no aplicativo
O mapeamento em Microsoft Dataverse simplifica a entrada de dados quando você cria novos registros associados a outro registro. Quando uma tabela tem uma relação com outra tabela, você pode criar novos registros relacionados usando a guia Criar Relacionados na Faixa de Opções. Quando você cria um novo registro dessa maneira, os dados mapeados do registro primário são copiados para o formulário do novo registro relacionado. Mapeando colunas de tabela, você controla quais dados são copiados adicionando novos mapeamentos na relação entre as duas tabelas. Se você criar um registro de qualquer outra forma que não seja pela exibição associada da tabela primária, os dados não serão mapeados.
Por exemplo, talvez você queira configurar um mapeamento entre as colunas de endereço em contas e as colunas de endereço em contatos. Com esse mapeamento, quando um usuário adiciona um contato associado a uma conta específica, as colunas de endereço do contato são preenchidas automaticamente.
Você pode mapear uma coluna para várias colunas de destino. Por exemplo, você pode mapear informações de endereço em uma conta para os endereços de cobrança e envio em um pedido.
O mapeamento é aplicado antes de um novo registro relacionado ser criado. Os usuários podem fazer alterações antes de salvar o registro. Alterações posteriores nos dados no registro primário não são aplicadas ao registro relacionado.
Usando dados de mapeamento de tabela e coluna
Usando a API Web
Ao trabalhar com a API Web, você pode usar a Função InitializeFrom para criar novos registros no contexto de registros existentes em que existe um mapeamento entre as tabelas.
A resposta recebida da solicitação InitializeFrom consiste em valores de colunas mapeadas entre a tabela de origem e a tabela de destino e o GUID do registro pai. O mapeamento de coluna entre tabelas que têm uma relação é diferente para diferentes conjuntos de tabelas e é personalizável, portanto, a resposta da solicitação de função InitializeFrom pode variar para diferentes tabelas e organizações. Quando essa resposta é passada no corpo da solicitação create do novo registro, esses valores de coluna são replicados no novo registro. Os valores das colunas mapeadas personalizadas também são definidos no novo registro durante o processo.
Note
Para determinar se duas tabelas podem ser mapeadas, use a seguinte solicitação de API Web:GET [Organization URI]/api/data/v9.0/entitymaps?$select=sourceentityname,targetentityname&$orderby=sourceentityname
Para obter mais informações, consulte Criar um novo registro de outro registro.
Usando o SDK para .NET
Ao criar novos registros no contexto de um registro existente em que existe um mapeamento entre as tabelas, você pode usar a InitializeFromRequest mensagem para definir um novo registro que contenha os valores especificados no mapeamento. Em seguida, você pode usar o IOrganizationService. Create método para salvar o registro. Dessa maneira, quaisquer mapeamentos que você definir são aplicados.
Mapas de tabela válidos são criados quando um relacionamento é criado. Use o entity_map_attribute_maps relacionamento para recuperar os mapas de coluna para o par de tabelas especificado pelo mapa de tabela.
Você pode criar ou atualizar registros de mapa de colunas. Os seguintes requisitos devem ser atendidos para mapas de colunas:
- O tipo AttributeMetadata deve corresponder.
- O comprimento da coluna de destino não pode ser menor que o da coluna de origem.
- O formato deve corresponder.
- A coluna de destino não deve ser usada em outro mapeamento.
- A coluna de origem deve ficar visível no formulário.
- A coluna de destino deve ser um campo no qual um usuário pode inserir dados.
- Valores de ID de endereço não podem ser mapeados.
- Colunas PartyList, onde AttributeMetadata.AttributeType é AttributeTypeCode. PartyList não pode ser mapeado.
Mapeamento automático de colunas entre tabelas
Você pode editar mapeamentos de coluna entre tabelas para relações que dão suporte ao mapeamento.
Além de criar cada mapa de coluna manualmente, você pode usar a mensagem AutoMapEntity(AutoMapEntity Action) ou a classe AutoMapEntityRequest para gerar um novo conjunto de mapeamentos de coluna. Essa mensagem executa a ação encontrada na opção de menu Gerar Mapeamentos no menu Mais Ações na barra de ferramentas (consulte Gerar mapeamentos de coluna automaticamente). Essa mensagem mapeia todas as colunas entre as duas tabelas relacionadas em que os nomes e tipos de coluna são idênticos. Essa mensagem é fornecida como um aprimoramento de produtividade para que você não precise adicionar manualmente todos os mapeamentos de coluna. Em vez disso, você pode gerar um conjunto de mapeamentos prováveis e minimizar a quantidade de trabalho manual para adicionar ou remover mapeamentos individuais para atender às suas necessidades.
Note
A geração automática de mapeamentos dessa maneira removerá todos os mapeamentos de coluna definidos anteriormente e poderá incluir mapeamentos que você não deseja.
Recuperar os mapeamentos de tabela e coluna
Uma maneira fácil de ver os mapeamentos que foram criados é usar a consulta FetchXML a seguir. Para obter mais informações sobre como executar essa consulta, consulte Consultar dados usando FetchXml.
<fetch>
<entity name='entitymap'>
<attribute name='sourceentityname'/>
<attribute name='targetentityname'/>
<link-entity name='attributemap' alias='attributemap' to='entitymapid' from='entitymapid' link-type='inner'>
<attribute name='sourceattributename'/>
<attribute name='targetattributename'/>
</link-entity>
</entity>
</fetch>