tipo de asociación

El tipo de asociación (también denominado asociación) es el principal bloque de creación para la descripción de relaciones en Entity Data Model (EDM). En un modelo conceptual, una asociación representa una relación entre dos tipos de entidad (como, por ejemplo, Customer y Order). En una aplicación, una instancia de una asociación representa una asociación concreta (como por ejemplo una asociación entre una instancia de Customer y una instancia de Order). Las instancias de asociación se agrupan de manera lógica en un conjunto de asociaciones.

Una definición de asociación contiene la siguiente información:

  • Un nombre único. (Requerido)

  • Dos extremos de asociación, uno para cada tipo de entidad de la relación. (Requerido)

    Nota

    Una asociación no puede representar una relación entre más de dos tipos de entidad. Sin embargo, una asociación sí puede definir una auto-relación especificando el mismo tipo de entidad para cada uno de sus extremos de asociación.

  • Una restricción de integridad referencial. (Opcional)

Cada extremo de la asociación debe especificar una multiplicidad de extremo de asociación que indica el número de instancias de tipo de entidad que pueden existir en un extremo de la asociación. La multiplicidad de extremo de asociación puede tener el valor uno (1), cero o uno (0..1), o muchos (*). Es posible acceder a las instancias de tipo de entidad situadas en un extremo de la asociación mediante las propiedades de navegación o las claves externas, si estas se exponen en un tipo de entidad. Para más información, consulte Entity Data Model: Claves externas.

Ejemplo

El diagrama siguiente muestra un modelo conceptual con dos asociaciones: PublishedBy y WrittenBy. Los extremos de asociación para la asociación PublishedBy son los tipos de entidad Book y Publisher. La multiplicidad del extremo Publisher es uno (1) y la multiplicidad del extremo Book es muchos (*), lo que indica que un editor publica muchos libros y que un libro solo puede ser publicado por un editor.

Example model with three entity types

ADO.NET Entity Framework usa un lenguaje específico de dominio (DSL) denominado lenguaje de definición de esquemas conceptuales (CSDL) para definir los modelos conceptuales. El código CSDL siguiente define la asociación PublishedBy mostrada en el diagrama anterior:

<Association Name="PublishedBy">
      <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
      <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
    </Association>

Consulte también