association end
En associationsslut identifierar entitetstypen i ena änden av en association och antalet instanser av entitetstyp som kan finnas i den änden av en association. Associationens slut definieras som en del av en association. en association måste ha exakt två associationsslut. Med navigeringsegenskaper kan du navigera från en association till en annan.
En associationsslutdefinition innehåller följande information:
En av de entitetstyper som ingår i associationen. (Krävs)
Kommentar
För en viss association kan den entitetstyp som anges för varje associationsslut vara densamma. Detta skapar en självassociation.
En association end multiplicity som anger antalet instanser av entitetstyp som kan finnas i ena änden av associationen. En association slut multiplicity kan ha ett värde på en (1), noll eller en (0..1) eller många (*).
Ett namn för associationens slut. (Valfritt)
Information om åtgärder som utförs i associationens slut, till exempel kaskad vid borttagning. (Valfritt)
Exempel
Diagrammet nedan visar en konceptmodell med två associationer: PublishedBy
och WrittenBy
. Associationens slut för associationen PublishedBy
är entitetstyperna Book
och Publisher
. Multiplicityen Publisher
av avsluta är en (1) och multiplicityen Book
av avsluta är många (*), som indikerar att en utgivare publicerar många bokar, och en boka publiceras av en utgivare.
ADO.NET Entity Framework använder ett domänspecifikt språk (DSL) som kallas CSDL (Conceptual Schema Definition Language) för att definiera konceptuella modeller. CSDL nedan definierar associationen PublishedBy
som visas i diagrammet ovan. Observera att typen, namnet och multipliciteten för varje associationsslut anges av XML-attribut (attributen Type
, Role
respektive Multiplicity
). Valfri information om åtgärder som utförs i ett slut anges i ett XML-element (elementet OnDelete
). I det här fallet, om en utgivare tas bort, så är alla associerade böcker.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
<OnDelete Action="Cascade" />
</End>
</Association>