type d'entité
Le type d’entité est le bloc de construction fondamental pour la description de la structure des données avec le modèle EDM (Entity Data Model). Dans un modèle conceptuel, un type d'entité représente la structure des concepts de niveau supérieur, comme les clients ou les commandes. Un type d'entité est un modèle pour les instances de type d'entité. Chaque modèle contient les informations suivantes :
Nom unique. (Obligatoire.)
Clé d’entité définie par une ou plusieurs propriétés. (Obligatoire.)
Données sous la forme de propriétés. (Facultatif.)
Propriétés de navigation permettant de naviguer d’une terminaison d’une association à l’autre. (facultatif)
Dans une application, une instance d'un type d'entité représente un objet spécifique (tel qu'un client ou une commande spécifique). Chaque instance d’un type d’entité doit avoir une clé d’entité unique dans un jeu d’entités.
Deux instances de type d'entité sont considérées égales seulement si elles sont du même type et si les valeurs de leurs clés d'entité sont identiques.
Exemple
Le diagramme suivant montre un modèle conceptuel avec trois types d'entité : Book
, Publisher
et Author
.
Notez que les propriétés de chaque type d'entité qui composent sa clé d'entité sont signalées par « (Key) ».
ADO.NET Entity Framework utilise un langage spécifique à un domaine (DSL), appelé CSDL (Conceptual Schema Definition Language), pour définir des modèles conceptuels. Le CSDL suivant définit le type d'entité Book
présenté dans le diagramme ci-dessus :
<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>