Compartir a través de


tipo de asociación

El tipo de asociación (también denominado asociación) es el bloque de construcción fundamental para describir las relaciones en el Modelo de Datos de Entidad (EDM). En un modelo conceptual, una asociación representa una relación entre dos tipos de entidad (como Customer y Order). En una aplicación, una instancia de una asociación representa una asociación específica (por ejemplo, una asociación entre una instancia de Customer y una instancia de Order). Las instancias de asociación se agrupan lógicamente 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 puede definir una autorrelación especificando el mismo tipo de entidad para cada uno de los extremos de la asociación.

  • Restricción de integridad referencial. (Opcional)

Cada extremo de asociación debe especificar una multiplicidad de extremo de asociación que indique el número de instancias de tipo de entidad que pueden estar en un extremo de la asociación. Una multiplicidad de extremo de asociación puede tener un valor de uno (1), cero o uno (0..1) o varios (*). 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 obtener más información, consulte Entity Data Model: Foreign Keys.

Ejemplo

En el diagrama siguiente se muestra un modelo conceptual con dos asociaciones: PublishedBy y WrittenBy. Los extremos de la asociación PublishedBy son los tipos de entidad Book y Publisher. La multiplicidad del Publisher final es una (1) y la multiplicidad del Book final es muchas (*), lo que indica que un editor publica muchos libros y un libro lo publica un editor.

Modelo de ejemplo con tres tipos de entidad

El ADO.NET Entity Framework usa un lenguaje específico del dominio (DSL) denominado lenguaje de definición de esquema conceptual (CSDL) para definir modelos conceptuales. El siguiente CSDL define la PublishedBy asociación que se muestra 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