koppelingstype
Een koppelingstype (ook wel een koppeling genoemd) is de fundamentele bouwsteen voor het beschrijven van relaties in het Entity Data Model (EDM). In een conceptueel model vertegenwoordigt een koppeling een relatie tussen twee entiteitstypen (zoals Customer
en Order
). In een toepassing vertegenwoordigt een instantie van een koppeling een specifieke koppeling (zoals een koppeling tussen een exemplaar van Customer
en een exemplaar van Order
). Koppelingsexemplaren worden logisch gegroepeerd in een koppelingsset.
Een koppelingsdefinitie bevat de volgende informatie:
Een unieke naam. (Verplicht)
Twee koppeling eindigt, één voor elk entiteitstype in de relatie. (Verplicht)
Notitie
Een koppeling kan geen relatie tussen meer dan twee entiteitstypen vertegenwoordigen. Een koppeling kan echter een zelfrelatie definiëren door hetzelfde entiteitstype op te geven voor elk van de bijbehorende koppelingseinden.
Een beperking voor referentiële integriteit. (Optioneel)
Elk koppelingseindeinde moet een multipliciteit opgeven die het aantal exemplaren van het entiteitstype aangeeft dat zich aan één uiteinde van de koppeling kan bevinden. Een koppelingseinde multipliciteit kan een waarde hebben van één (1), nul of één (0,.1) of veel (*). Exemplaren van entiteitstypen aan het ene uiteinde van een koppeling kunnen worden geopend via navigatie-eigenschappen of refererende sleutels als deze beschikbaar zijn op een entiteitstype. Zie Entiteitsgegevensmodel: Refererende sleutels voor meer informatie.
Opmerking
In het onderstaande diagram ziet u een conceptueel model met twee koppelingen: PublishedBy
en WrittenBy
. De koppeling eindigt voor de PublishedBy
koppeling zijn de Book
en Publisher
entiteitstypen. De multipliciteit van het Publisher
einde is één (1) en de multipliciteit van het Book
einde is veel (*), wat aangeeft dat een uitgever veel boeken publiceert en een boek door één uitgever wordt gepubliceerd.
De ADO.NET Entity Framework maakt gebruik van een domeinspecifieke taal (DSL) genaamd conceptuele schemadefinitietaal (CSDL) om conceptuele modellen te definiëren. De volgende CSDL definieert de PublishedBy
koppeling die wordt weergegeven in het bovenstaande diagram:
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>