extremo de asociación
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 tal 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. (Requerido)
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 indique 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>