extremo de asociación (Entity Data Model)
Un extremo de asociación identifica el tipo de entidad situado en un extremo de una asociación, así como el número de instancias de tipo de entidad que pueden existir en dicho extremo. Los extremos de asociación se definen como parte de una asociación, y esta debe tener exactamente dos extremos. Las propiedades de navegación permiten desplazarse de un extremo a otro de la asociación.
Una definición de extremo de asociación contiene la información siguiente:
Uno de los tipos de entidad implicados en la asociación. (Necesario)
Nota: En una asociación determinada, el tipo de entidad especificado para cada extremo de la asociación puede ser el mismo.Esto crea una auto-asociación. 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 (*).
Nombre para el extremo de la asociación. (Opcional)
Información sobre las operaciones que se realizan en el extremo de la asociación, como por ejemplo la eliminación en cascada. (Opcional)
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.
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 CSDL siguiente define la asociación PublishedBy mostrada en el diagrama anterior. Tenga en cuenta que el tipo, el nombre y la multiplicidad de cada extremo de la asociación se especifican mediante atributos XML (los atributos Type, Role y Multiplicity, respectivamente). La información adicional sobre las operaciones realizadas en un extremo se especifica mediante un elemento XML (el elemento OnDelete-). En este caso, si se elimina un editor, también se eliminan todos los libros asociados.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
<OnDelete Action="Cascade" />
</End>
</Association>