Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Sada přidružení je logický kontejner pro instance přidružení stejného typu. Sada přidružení není konstruktor modelování dat; to znamená, že nepopisuje strukturu dat nebo relací. Sada přidružení místo toho poskytuje konstruktor pro hostování nebo prostředí úložiště (například modul CLR nebo databázi SQL Serveru) pro seskupení instancí přidružení, aby bylo možné je namapovat na úložiště dat.
Sada přidružení je definována v kontejneru entity, což je logické seskupení sad entit a sad přidružení.
Definice sady přidružení obsahuje následující informace:
Název sady přidružení. (Požadováno)
Sdružení, které bude obsahovat instance. (Požadováno)
Příklad
Následující diagram znázorňuje koncepční model se dvěma přidruženími: PublishedBya WrittenBy. I když se v diagramu nezobrazují informace o sadách přidružení, další diagram ukazuje příklad sad přidružení a sad entit založených na tomto modelu.
Následující příklad ukazuje sadu přidružení (PublishedBy) a dvě sady entit (Books a Publishers) na základě konceptuálního modelu uvedeného výše. Bi v Books sadě entit představuje instanci Book typu entity za běhu. Podobně Pj představuje Publisher instanci v Publishers sadě entit. BiPj představuje instanci PublishedBy asociace v PublishedBy sadě asociací.
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 kontejner entit s jednou sadou přidružení pro každé přidružení v diagramu výše. Všimněte si, že název a přidružení pro každou sadu přidružení jsou definovány pomocí atributů XML.
<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>
Je možné definovat více sad asociací na jednu asociaci, pokud žádné dvě sady asociací nesdílejí konec sady asociací. Následující CSDL definuje kontejner entity se dvěma množinami asociací pro asociaci WrittenBy. Všimněte si, že pro typy entit Book a Author bylo definováno více sad entit a že žádná sada přidružení nesdílí koncové body s jinou sadou přidružení.
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="FictionBooks" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<EntitySet Name="FictionAuthors" 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>
<AssociationSet Name="FictionWrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="FictionBooks" />
<End Role="Author" EntitySet="FictionAuthors" />
</AssociationSet>
</EntityContainer>