punkt końcowy skojarzenia
Koniec skojarzenia identyfikuje typ jednostki na jednym końcu skojarzenia i liczbę wystąpień typu jednostki, które mogą istnieć na tym końcu skojarzenia. Końce skojarzenia są definiowane jako część skojarzenia; skojarzenie musi mieć dokładnie dwa końce skojarzenia. Właściwości nawigacji umożliwiają nawigację z jednego skojarzenia do drugiego.
Definicja zakończenia skojarzenia zawiera następujące informacje:
Jeden z typów jednostek zaangażowanych w skojarzenie. (Wymagane)
Uwaga
Dla danego skojarzenia typ jednostki określony dla każdego końca skojarzenia może być taki sam. Spowoduje to utworzenie skojarzenia samodzielnego.
Liczba wystąpień typu jednostki wskazująca liczbę wystąpień typu jednostki, które mogą znajdować się na jednym końcu skojarzenia. Wielokrotność zakończenia skojarzenia może mieć wartość jedną (1), zero lub jedną (0..1) lub wiele (*).
Nazwa końca skojarzenia. (Opcjonalne)
Informacje o operacjach wykonywanych na końcu skojarzenia, takich jak kaskada usuwania. (Opcjonalne)
Przykład
Na poniższym diagramie przedstawiono model koncepcyjny z dwoma skojarzeniami: PublishedBy
i WrittenBy
. Skojarzenie kończy się dla skojarzenia PublishedBy
są typami Book
jednostek i .Publisher
Wielokrotność końca jest jedną (1), a wielokrotność Publisher
Book
końca jest wiele (*), wskazując, że wydawca publikuje wiele książek, a książka jest publikowana przez jednego wydawcę.
ADO.NET Entity Framework używa języka specyficznego dla domeny (DSL) nazywanego koncepcyjnym językiem definicji schematu (CSDL) do definiowania modeli koncepcyjnych. Poniższy plik CSDL definiuje PublishedBy
skojarzenie pokazane na powyższym diagramie. Należy pamiętać, że typ, nazwa i wielokrotność każdego końca skojarzenia są określane przez atrybuty XML ( Type
odpowiednio atrybuty , Role
i Multiplicity
). Opcjonalne informacje o operacjach wykonywanych na końcu są określone w elemecie XML (elem.OnDelete
W takim przypadku, jeśli wydawca zostanie usunięty, więc wszystkie skojarzone książki.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
<OnDelete Action="Cascade" />
</End>
</Association>