typ skojarzenia
Typ skojarzenia (nazywany również skojarzeniem) jest podstawowym blokiem konstrukcyjnym opisującym relacje w modelu danych jednostki (EDM). W modelu koncepcyjnym skojarzenie reprezentuje relację między dwoma typami jednostek (takimi jak Customer
i Order
). W aplikacji wystąpienie skojarzenia reprezentuje określone skojarzenie (na przykład skojarzenie między wystąpieniem Customer
i wystąpieniem Order
klasy ). Wystąpienia skojarzeń są logicznie grupowane w zestawie skojarzeń.
Definicja skojarzenia zawiera następujące informacje:
Unikatowa nazwa. (Wymagane)
Kończy się dwa skojarzenia— jeden dla każdego typu jednostki w relacji. (Wymagane)
Uwaga
Skojarzenie nie może reprezentować relacji między więcej niż dwoma typami jednostek. Skojarzenie może jednak zdefiniować relację własną, określając ten sam typ jednostki dla każdego z jego skojarzeń.
Ograniczenie integralności referencyjnej. (Opcjonalne)
Każdy koniec skojarzenia musi określać 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 (*). Dostęp do wystąpień typu jednostki na jednym końcu skojarzenia można uzyskać za pośrednictwem właściwości nawigacji lub kluczy obcych, jeśli są one uwidocznione na typie jednostki. Aby uzyskać więcej informacji, zobacz Model danych jednostki: klucze obce.
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 skojarzenie PublishedBy
pokazane na powyższym diagramie:
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>