typ přidružení

Typ přidružení (označovaný také jako asociace) je základním stavebním blokem pro popis relací v modelu Entity Data Model (EDM). V konceptuálním modelu asociace představuje vztah mezi dvěma typy entit (například Customer a Order). V aplikaci představuje instance asociace konkrétní přidružení (například přidružení mezi instancí Customer a instancí Order). Instance přidružení jsou logicky seskupeny v sadě přidružení.

Definice přidružení obsahuje následující informace:

  • Jedinečný název. (Požadováno)

  • Dva konce asociace, jeden pro každý typ entity v rámci vztahu. (Požadováno)

    Poznámka:

    Přidružení nemůže představovat vztah mezi více než dvěma typy entit. Sdružení však může definovat sebepříčinný vztah určením stejného typu entity pro každý z jeho konců asociace.

  • Omezení referenční integrity (Volitelné)

Každý konec přidružení musí určovat násobnost konce přidružení , která označuje počet instancí typu entity, které mohou být na jednom konci přidružení. Koncová násobnost přidružení může mít hodnotu 1, nula nebo jednu (0,,1) nebo mnoho (*). Instance typu entity na jednom konci přidružení lze získat přístup prostřednictvím navigačních vlastností nebo cizích klíčů, pokud jsou vystaveny u typu entity. Další informace najdete v tématu Entity Data Model: Cizí klíče.

Příklad

Následující diagram znázorňuje koncepční model se dvěma přidruženími: PublishedBy a WrittenBy. Konce přidružení pro asociaci PublishedBy jsou typy entit Book a Publisher. Násobnost Publisher konce je jedna (1) a násobnost Book konce je mnoho (*), což znamená, že jeden vydavatel publikuje mnoho knih a každá kniha je publikována jedním vydavatelem.

Příklad modelu se třemi typy entit

ADO.NET Entity Framework používá jazyk specifický pro doménu (DSL) označovaný jako jazyk CSDL (Conceptual Schema Definition Language) k definování konceptuálních modelů. Následující CSDL definuje PublishedBy asociaci znázorněnou v výše uvedeném diagramu.

<Association Name="PublishedBy">
      <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
      <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
    </Association>

Viz také