entiteitstype
Het entiteitstype is de fundamentele bouwsteen voor het beschrijven van de structuur van gegevens met het Entity Data Model (EDM). In een conceptueel model vertegenwoordigt een entiteitstype de structuur van concepten op het hoogste niveau, zoals klanten of orders. Een entiteitstype is een sjabloon voor entiteitstype-exemplaren. Elke sjabloon bevat de volgende informatie:
Een unieke naam. (Vereist.)
Een entiteitssleutel die is gedefinieerd door een of meer eigenschappen. (Vereist.)
Gegevens in de vorm van eigenschappen. (Optioneel.)
Navigatie-eigenschappen waarmee navigatie vanaf het ene uiteinde van een koppeling naar het andere uiteinde mogelijk is. (Optioneel)
In een toepassing vertegenwoordigt een exemplaar van een entiteitstype een specifiek object (zoals een specifieke klant of bestelling). Elk exemplaar van een entiteitstype moet een unieke entiteitssleutel hebben binnen een entiteitsset.
Twee entiteitstypeexemplaren worden alleen als gelijk beschouwd als ze van hetzelfde type zijn en de waarden van hun entiteitssleutels hetzelfde zijn.
Opmerking
In het onderstaande diagram ziet u een conceptueel model met drie entiteitstypen: Book
, Publisher
en Author
:
Houd er rekening mee dat de eigenschappen van elk entiteitstype waaruit de entiteitssleutel bestaat, worden aangeduid met '(Key)'.
De ADO.NET Entity Framework maakt gebruik van een domeinspecifieke taal (DSL) genaamd conceptuele schemadefinitietaal (CSDL) om conceptuele modellen te definiƫren. Met de volgende CSDL wordt het Book
entiteitstype gedefinieerd dat in het bovenstaande diagram wordt weergegeven:
<EntityType Name="Book">
<Key>
<PropertyRef Name="ISBN" />
</Key>
<Property Type="String" Name="ISBN" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" />
<Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
<NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
FromRole="Book" ToRole="Publisher" />
<NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
FromRole="Book" ToRole="Author" />
</EntityType>