punkt końcowy zestawu skojarzeń
Koniec zestawu skojarzeń identyfikuje typ jednostki i zestaw jednostek na końcu zestawu skojarzeń. Końce zestawu skojarzeń są definiowane jako część zestawu skojarzeń; zestaw skojarzeń musi mieć dokładnie dwa końce zestawu skojarzeń.
Definicja końcowa zestawu skojarzeń zawiera następujące informacje:
Jeden z typów jednostek zaangażowanych w zestaw skojarzeń. (Wymagane)
Zestaw jednostek dla typu jednostki biorącej udział w zestawie skojarzeń. (Wymagane)
Przykład
Na poniższym diagramie przedstawiono model koncepcyjny z dwoma skojarzeniami: WrittenBy
i PublishedBy
.
Na poniższym diagramie przedstawiono zestaw skojarzeń (PublishedBy
) i dwa zestawy jednostek (Books
i Publishers
) na podstawie przedstawionego powyżej modelu koncepcyjnego. Końce zestawu skojarzeń to Books
zestawy jednostek i Publishers
. Analiza bi w Books
zestawie jednostek reprezentuje wystąpienie Book
typu jednostki w czasie wykonywania. Podobnie Pj reprezentuje Publisher
wystąpienie w Publishers
zestawie jednostek. BiPj reprezentuje wystąpienie skojarzenia PublishedBy
w PublishedBy
zestawie skojarzeń.
ADO.NET Entity Framework używa języka DSL nazywanego koncepcyjnym językiem definicji schematu (CSDL) do definiowania modeli koncepcyjnych. Poniższy plik CSDL definiuje kontener jednostki z jednym zestawem skojarzeń dla każdego skojarzenia na powyższym diagramie. Należy pamiętać, że końce zestawu skojarzeń są definiowane jako część każdej definicji zestawu skojarzeń.
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
</EntityContainer>