Partilhar via


Personalizar metadados do relacionamento entre entidades

 

Publicado: janeiro de 2017

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

Os relacionamentos entre entidades definem as formas que os registros de entidade podem ser associados a registros de outras entidades ou da mesma entidade. Criar novos relacionamentos entre entidades cria novos relacionamentos de tabela no banco de dados. Use relacionamentos entre entidades para definir as associações específicas frequentemente usadas para associar registros de relatórios ou na interface do usuário. Depois que um relacionamento existir, você poderá desassociar e associar registros com base no relacionamento usando os métodos Associate e Disassociate.Para obter mais informações:Ações em registros de entidade

Para relacionamentos entre registros individuais que são menos formais e mais flexíveis, consulte Entidades de conexão.

Este tópico fala sobre como trabalhar com relacionamentos entre entidades de forma programática. Para obter informações sobre como trabalhar com relacionamentos entre entidades no aplicativo, consulte Criar e editar relacionamentos entre entidades.

Neste tópico

Tipos de relacionamentos de entidade

Relacionamentos um-para-muitos

Relacionamento muitos-para-muitos

Configurar menus associados

Tipos de relacionamentos de entidade

O Microsoft Dynamics 365 fornece dois tipos de relacionamentos entre entidades. Ambos herdam das classes RelationshipMetadataBase:

  • Relacionamentos um-para-muitos

  • Relacionamento muitos-para-muitos

Antes de criar um novo relacionamento entre entidades de forma programática, verifique se as entidades são elegíveis para participar do relacionamento. Há restrições aplicada aos relacionamentos de entidade usando as seguintes propriedades do EntityMetadata: CanBeInManyToMany, CanBePrimaryEntityInRelationship e CanBeRelatedEntityInRelationship. As restrições são levadas em consideração ao criar manualmente relacionamentos de entidades nas ferramentas de personalização. Há mensagens que você pode usar para determinar quais relacionamentos um entidade pode usar e quais outras entidades são válidas para esse tipo de relacionamento.Para obter mais informações:Elegibilidade de relacionamento da entidade

Os dois tipos de relacionamentos entre entidades permitem opções exibir os links de navegação entre registros relacionados.Para obter mais informações:Configurar menus associados

Relacionamentos um-para-muitos

Em um relacionamento de entidade um-para-muitos, vários registros de entidade de referência (relacionados) podem ser associados com um único registro de entidade referenciado (primário). O registro de entidade de referência às vezes é referenciado como “pai” e os registros da entidade de referência são referenciados como “filhos”.

Em um nó de entidade em uma página de solução, esse tipo de relacionamento de entidade é exibido como Relacionamento um-para-muitos (1:N) ou um Relacionamento muitos-para-um (N:1). Esses termos são usados porque você navega para relacionamentos de entidade através de uma das entidades. O rótulo reflete qual a função da entidade atual no relacionamento.

Você usa uma instância da classe OneToManyRelationshipMetadata ao trabalhar com este tipo de relacionamento entre entidades. Cada relacionamento entre entidades tem um nome de esquema exclusivo que você usa para recuperá-lo. Para obter mais informações, consulte SchemaName. Cada relacionamento entre entidades desse tipo também tem uma entidade referenciada (Entidade Principal) com um atributo referenciado e uma entidade de referência (Entidade Relacionada) com um atributo de referência. O atributo de referência pode ser exibido como um campo de pesquisa em um formulário de entidade. Para obter mais informações, consulte ReferencedEntity, ReferencedAttribute, ReferencingEntity e ReferencingAttribute.

Você pode exigir que uma entidade de referência tenha uma referência configurando o AttributeRequiredLevel para ApplicationRequired no atributo de referência. Para manter a integridade dos dados, ao fazer isso é necessário também especificar o que você deseja que ocorra se o registro primário for excluído. Use a propriedade CascadeConfiguration para impedir a exclusão do registro principal ou exclui automaticamente o registro relacionado assim como evita um registro órfão.

Você também pode usar a instalação em cascata para automatizar o comportamento automático ao especificar ações tomadas em registros relacionados na organização.Para obter mais informações:Comportamento do relacionamento entre entidades

Mapear dados para novos registros

Quando há um relacionamento entre entidades um-para-muitos, você pode especificar se os dados de determinados campos na entidade referenciada podem ser transferidos para qualquer novo registro relacionado criados no contexto do relacionamento. Isso pode simplificar a entrada de dados na criação de novos registros relacionados. Para obter mais informações, consulte Personalizar mapeamentos de entidade e atributos.

Relacionamentos de entidade um-para-muitos de autorreferência

Um relacionamento de autorreferência é onde a referência e a entidade de referência é o mesmo. Por exemplo, a entidade da conta tem um relacionamento um-para-muitos de autorreferência que permite uma pesquisa chamada Conta Primária. Se o comportamento do relacionamento entre entidades for definido como Primário, não é possível para um registro fazer referência a si próprio porque isso criaria uma referência circular quando comportamentos em cascata são aplicados.Para obter mais informações:Comportamento do relacionamento entre entidades

Relacionamentos hierárquicos entre entidades um-para-muitos

Com o Microsoft Dynamics 365 (online e local), é possível especificar uma autorreferência de relacionamento um-para-muitos entre entidades como o relacionamento hierárquico atribuído a uma entidade. A propriedade OneToManyRelationshipMetadata.IsHierarchical sinaliza esse relacionamento como o relacionamento um-para-muitos para usar para a entidade.

Todos os relacionamentos de entidade um-para-muitos representam um tipo hierarquia, mas os relacionamentos explicitamente sinalizados usando a propriedade IsHierarchical são os únicos relacionamentos de entidades que suportam as visualizações de hierarquia no aplicativo, além de novos operadores de consulta para recuperar registros relacionados hierarquicamente.Para obter mais informações:Dados hierárquicos de consulta

Alterar o nome das propriedades de navegação da API Web

Se quiser aplicar um nome da propriedade de navegação da API Web personalizada a um relacionamento um-para-muitos, você poderá configurar valores para as propriedades OneToManyRelationshipMetadataReferencingEntityNavigationPropertyName Property e ReferencedEntityNavigationPropertyName Property.

Relacionamento muitos-para-muitos

Em um relacionamento de entidades muitos-para-muitos, vários registros da entidade podem ser associados a vários outros registros de entidade. Diferentemente de relacionamentos um-para-muitos, não há um campo de pesquisa na entidade e, portanto, não há hierarquia. Registros relacionados usando um relacionamento muito-para-muito podem ser consideradas colegas e o relacionamento é recíproco. Um relacionamento muitos-para-muitos também pode ser autorreferencial. Quando não houver um comportamento em cascata envolvido em relações muitos-para-muitos, será possível permitir que um registro individual tenha uma referência a si próprio.

Você usa uma instância da classe ManyToManyRelationshipMetadata ao trabalhar com este tipo de relacionamento entre entidades. Cada relacionamento entre entidades tem um SchemaName exclusivo que você usa para recuperá-lo

Criar um relacionamento muito-para-muitos cria uma nova entidade cruzada onde a propriedade IsIntersect é verdadeira. Os registros para essa entidade acompanham cada relacionamento muitos-para-muitos. Não é possível adicionar atributos personalizados para cruzar entidades.

Alterar o nome das propriedades de navegação da API Web

Se quiser aplicar um nome da propriedade de navegação da API Web personalizada a um relacionamento um-para-muitos, você poderá configurar valores para as propriedades   ManyToManyRelationshipMetadataEntity1NavigationPropertyName Property  e Entity2NavigationPropertyName Property.

Configurar menus associados

Os dois tipos de relacionamentos entre entidades permitem a configuração de links de navegação entre registros relacionados. Use as propriedades AssociatedMenuConfiguration para cada tipo de definição de relacionamentos entre entidades para especificar como você deseja que os links de navegação em um formulário de entidade sejam exibidos.

Esses valores fornecem a configuração padrão do relacionamento. Você pode usar o editor de formulários para substituir essas opções de cada formulário.Para obter mais informações:TechNet: Usar o editor de formulários: editar a navegação

  • Behavior
    Forneça as seguintes opções:

    • DoNotDisplay

    • UseCollectionName

    • UseLabel

  • Group
    Forneça as seguintes opções:

    • Detalhes

    • Marketing

    • Sales

    • Serviço

    Você não pode adicionar novos grupos, mas pode alterar o texto exibido para eles usando o editor de formulários.

  • Etiqueta
    Se você selecionar AssociatedMenuBehavior.UseLabel, deve fornecer uma etiqueta personalizada.

  • Ordem
    O número inteiro fornecido para o pedido controlará a posição relativa de itens de navegação no grupo. Quanto menor o valor, mais o item aparecerá relacionado aos valores de outros itens no grupo.

Confira Também

Usar o serviço da Organização com metadados do Dynamics 365
Mensagens de metadados do relacionamento da entidade
Elegibilidade de relacionamento da entidade
Comportamento do relacionamento entre entidades
Criar e recuperar relacionamentos de entidades
Exemplo: Criar e recuperar relacionamentos entre entidades
Exemplo: Informações de relacionamento de entidades de despejo para um arquivo
Personalizar mapeamentos de entidade e atributos
Recuperar registros para relações de muitos para muitos usando entidades de intersecção

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais