fim da associação
Uma extremidade de associação identifica o tipo de entidade em uma extremidade de uma associação e o número de instâncias de tipo de entidade que podem existir nessa extremidade de uma associação. Os fins de associação são definidos como parte de uma associação; uma associação deve ter exatamente duas extremidades de associação. As propriedades de navegação permitem a navegação de uma extremidade de associação para a outra.
Uma definição de fim de associação contém as seguintes informações:
Um dos tipos de entidades envolvidas na associação. (Obrigatório)
Nota
Para uma determinada associação, o tipo de entidade especificado para cada extremidade de associação pode ser o mesmo. Isso cria uma auto-associação.
Uma multiplicidade de fim de associação que indica o número de instâncias de tipo de entidade que podem estar em uma extremidade da associação. Uma multiplicidade final de associação pode ter um valor de um (1), zero ou um (0..1), ou muitos (*).
Um nome para o fim da associação. (Opcional)
Informações sobre operações que são executadas na extremidade da associação, como cascata ao excluir. (Opcional)
Exemplo
O diagrama abaixo mostra um modelo conceitual com duas associações: PublishedBy
e WrittenBy
. As terminações de associação para a PublishedBy
associação são os Book
tipos e Publisher
entidade. A multiplicidade do fim é um (1) e a multiplicidade do fim é muitos (*), indicando que uma editora Publisher
Book
publica muitos livros e um livro é publicado por uma editora.
O ADO.NET Entity Framework usa uma linguagem específica de domínio (DSL) chamada linguagem de definição de esquema conceitual (CSDL) para definir modelos conceituais. A CSDL abaixo define a PublishedBy
associação mostrada no diagrama acima. Observe que o tipo, o nome e a multiplicidade de cada extremidade de associação são especificados por atributos XML (o Type
, Role
e Multiplicity
atributos, respectivamente). Informações opcionais sobre operações executadas em uma extremidade são especificadas em um elemento XML (o OnDelete
elemento ). Neste caso, se um editor for excluído, todos os livros associados também o serão.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
<OnDelete Action="Cascade" />
</End>
</Association>