Personalizar metadatos de relación de entidad

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Las relaciones de entidad definen las formas en que los registros de la entidad se pueden asociar con registros de otras o de la misma entidad. Al crear nuevas relaciones entre entidades se crean nuevas relaciones de tabla en la base de datos. Use las relaciones entre entidades para definir las asociaciones específicas que se usan a menudo para asociar registros para informes o en la interfaz de usuario. Una vez que existe una relación, puede asociar y anular la asociación de registros en función de la relación mediante los métodos Associate y Disassociate.Más información:Acciones en los registros de la entidad

Para relaciones entre registros individuales que son menos formales y más flexibles, consulte Entidades de conexión.

En este tema se explica cómo trabajar con relaciones entre entidades mediante programación. Para obtener más información sobre el trabajo con relaciones entre entidades en la aplicación, consulte Crear y modificar relaciones entre entidades.

En este tema

Tipos de relaciones entre entidades

Relaciones de uno a varios

Relaciones de varios a varios

Configurar menús asociados

Tipos de relaciones entre entidades

Microsoft Dynamics 365 ofrece dos tipos de relaciones entre entidades. Ambos heredan de la clase RelationshipMetadataBase:

  • Relaciones de uno a varios

  • Relaciones de varios a varios

Antes de crear una nueva relación entre entidades mediante programación, compruebe si las entidades pueden participar en la relación. Existen restricciones aplicadas a las relaciones de entidad que usan las siguientes propiedades de EntityMetadata: CanBeInManyToMany, CanBePrimaryEntityInRelationship y CanBeRelatedEntityInRelationship. Estas restricciones se tienen en cuenta al crear manualmente relaciones de entidad en las herramientas de personalización. Hay mensajes que puede usar para determinar qué relaciones puede utilizar una entidad y qué otras entidades son válidas para ese tipo de relación.Más información:Idoneidad de la relación entre entidades

Ambos tipos de relaciones entre entidades permiten las opciones que muestran vínculos de navegación entre registros relacionados.Más información:Configurar menús asociados

Relaciones de uno a varios

En una relación de entidad de uno a varios, muchos registros de entidad que referencian (relacionados) se pueden asociar con un solo registro de entidad (principal) al que se hace referencia. El registro de entidad referenciado se denomina a veces "principal" y los registros de entidad que referencian se denominan "secundarios".

En un nodo de entidad de una página de solución, este tipo de relación entre entidades se muestra como Relación 1 a varios (1:N) o Relación varios a 1 (N:1). Se usan estos términos porque se navega a las relaciones entre entidades mediante una de las entidades. La etiqueta refleja el rol que la entidad actual tiene en la relación.

Se usa una instancia de la clase OneToManyRelationshipMetadata cuando se trabaja con este tipo de relación entre entidades. Cada relación de entidad tiene un nombre de esquema único que se usa para recuperarla. Para obtener más información, vea SchemaName. Cada relación de este tipo también tiene una entidad referenciada (Entidad principal) con un atributo referenciado, y una entidad que referencia (Entidad relacionada) con un atributo que referencia. El atributo que hace referencia se puede presentar como un campo de búsqueda en un formulario de entidad. Para obtener más información, vea ReferencedEntity, ReferencedAttribute, ReferencingEntity y ReferencingAttribute.

Puede exigir que una entidad que referencia tenga una referencia estableciendo AttributeRequiredLevel en ApplicationRequired en el atributo que referencia. Para mantener la integridad de los datos, cuando hace esto también debe especificar qué desea que ocurra si se elimina el registro principal. Use la propiedad CascadeConfiguration para evitar que se elimine el registro principal o elimine automáticamente el registro relacionado también para evitar un registro huérfano.

También puede usar configuración en cascada para automatizar el comportamiento cuando se realizan acciones específicas en registros relacionados de la organización.Más información:Comportamiento de relación de entidades

Asignar datos a los nuevos registros

Cuando hay una relación de entidad de uno a varios, puede especificar que los datos de algunos campos de la entidad referenciada se puedan transferir a cualquier nuevo registro relacionado creado en el contexto de la relación. Esto puede simplificar la entrada de datos cuando cree nuevos registros relacionados. Para obtener más información, vea: Personalizar asignaciones de entidad y atributo.

Relaciones entre entidades uno a varios autoreferenciadas

Una relación que se autoreferencia es aquella en que la entidad que referencia y la entidad referenciada es la misma. Por ejemplo, la entidad cuenta tiene una relación uno a varios que se autoreferencia y que permite una búsqueda etiquetada Cuenta primaria. Si se define el comportamiento de la relación entre entidades como Primaria no es posible que un registro se autoreferencie porque se crearía una referencia circular cuando se aplican comportamientos en cascada.Más información:Comportamiento de relación de entidades

Relaciones de entidades jerárquicas de uno a varios

Con Microsoft Dynamics 365 (en línea y local), puede especificar una relación de entidades de uno a varios que hace referencia a sí misma como la relación jerárquica designada para una entidad. La propiedad OneToManyRelationshipMetadata.IsHierarchical marca esta relación como la relación de uno a varios que se usará para la entidad.

Todas las relaciones de entidad de uno a varios representan un tipo de jerarquía, pero las relaciones explícitamente marcadas mediante la propiedad IsHierarchical son las únicas relaciones de entidad que admiten las visualizaciones de jerarquía en la aplicación, así como nuevos operadores de consulta para recuperar registros relacionados jerárquicamente.Más información:Consultar datos jerárquicos

Cambiar el nombre de las propiedades de navegación de la API web

Si desea aplicar un nombre de propiedad de navegación de la API web personalizado para una relación de uno a varios puede establecer valores para las propiedades OneToManyRelationshipMetadataReferencingEntityNavigationPropertyName Property y ReferencedEntityNavigationPropertyName Property.

Relaciones de varios a varios

En una relación entre entidades de varios a varios, muchos registros de la entidad se pueden asociar con otros muchos registros de la entidad. A diferencia de las relaciones de uno a varios, no hay campos de búsqueda en ninguna de las entidades y, por tanto, no existe jerarquía. Los registros relacionados mediante una relación de varios a varios pueden considerarse iguales y la relación es recíproca. Una relación de varios a varios también puede hacer referencia a sí misma. Debido a que no se experimenta un comportamiento en cascada en las relaciones de varios a varios, puede permitir que un registro individual tenga una referencia a sí mismo.

Se usa una instancia de la clase ManyToManyRelationshipMetadata cuando se trabaja con este tipo de relación entre entidades. Cada relación de entidad tiene un SchemaName único que se usa para recuperarla.

Al crear una relación entre entidades de varios a varios, se crea una nueva entidad que se entrecruza donde la propiedad IsIntersect es verdadera. Los registros de esta entidad realizan un seguimiento de cada relación de varios a varios. No puede agregar atributos personalizados para entrecruzar entidades.

Cambiar el nombre de las propiedades de navegación de la API web

Si desea aplicar un nombre de propiedad de navegación de la API web personalizado para una relación de varios a varios puede establecer valores para las propiedades ManyToManyRelationshipMetadataEntity1NavigationPropertyName Property  y Entity2NavigationPropertyName Property.

Configurar menús asociados

Ambos tipos de relaciones entre entidades permiten la configuración de vínculos de navegación entre registros relacionados. Use las propiedades AssociatedMenuConfiguration en cada tipo de definición de relación entre entidades para especificar cómo desea que se muestren los vínculos de navegación en un formulario de entidad.

Estos valores ofrecen la configuración predeterminada para la relación. Puede usar el editor de formularios para reemplazar estas opciones en cada formulario.Más información:TechNet: Uso del editor de formularios: Edición de navegación

  • Behavior
    Ofrece las siguientes opciones:

    • DoNotDisplay

    • UseCollectionName

    • UseLabel

  • Group
    Ofrece las siguientes opciones:

    • Detalles

    • Marketing

    • Ventas

    • Servicio

    No puede agregar nuevos grupos, pero puede cambiar el texto que se muestra para ellos mediante el editor de formularios.

  • Etiqueta
    Si selecciona AssociatedMenuBehavior.UseLabel, debe proporcionar una etiqueta personalizada.

  • Orden
    El entero proporcionado para el orden controlará la posición relativa de los elementos de navegación en el grupo. Cuanta más bajo sea el valor, más arriba aparecerá el elemento en relación con los valores de otros elementos del grupo.

Ver también

Usar el servicio de la organización con metadatos de Dynamics 365
Mensajes de metadatos de relación entre entidades
Idoneidad de la relación entre entidades
Comportamiento de relación de entidades
Crear y recuperar relaciones entre entidades
Ejemplo: Crear y recuperar las relaciones entre entidades
Ejemplo: volcar la información de la relación de entidad en un archivo
Personalizar asignaciones de entidad y atributo
Recuperar registros de relaciones de varios a varios mediante entidades que se cruzan

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright