Partager via


Type d'entité (EDM)

Dans le modèle EDM (Modèle de données d'entité), un objet EntityType est le modèle de conception d'un type de données du domaine de l'application. Une déclaration d'entité représente de façon schématique un type particulier de données. Le schéma est utilisé, sans être encombré d'une structure de table ou de code, pour spécifier tous les détails du type de données. Une fois la conception terminée, un type de données programmable est construit en fonction de cette conception.

Un objet EntityType EDM est utilisé pour modéliser un concept de niveau supérieur, tel qu'un client, une commande ou un fournisseur dans une application de gestion. Chaque entité est définie sous la forme d'un objet EntityType en langage CSDL (Conceptual Schema Definition Language). Une fois que l'objet EntityType a été défini de façon schématique, il devient une unité opérationnelle pour le développement d'applications. Chaque objet EntityType est indépendant sur le plan conceptuel et a une identité unique.

Propriétés et identité des entités

Un objet EntityType d'un schéma a un nom, des propriétés et une propriété Key qui identifie le type de données lorsqu'il est instancié par du code d'application.

La plupart des informations relatives à un objet EntityType sont contenues par ses propriétés. Une propriété se compose des données d'un objet SimpleType ou ComplexType EDM. Les propriétés ont une valeur unique. Toutefois, un type NavigationProperty peut être utilisé avec un objet Association pour implémenter une propriété qui fonctionne comme une collection d'éléments de données. Pour plus d'informations sur les propriétés de navigation, voir Propriétés de navigation (EDM) dans le modèle EDM. Pour plus d'informations sur les associations, voir Relations du modèle Entity Data Model.

Propriétés

Une propriété ajoute des informations à un objet EntityType en définissant un nom unique pour une valeur d'un type de données spécifié. La spécification de la propriété comprend un nom et un type, et peut spécifier des contraintes d'accès à l'aide des attributs GetterAccess et SetterAccess. Le type d'une propriété est sélectionné parmi ceux spécifiés en tant qu'objets SimpleType EDM.

Toutes les propriétés excepté celles participant à une propriété Key peuvent avoir la valeur Null. L'exemple suivant montre la déclaration d'un objet EntityType.

<EntityType Name="Person">
  <Key>
      <PropertyRef Name="EmailID"/>
  </Key>
  <Property Name="EmailID" Type="String" Nullable="false" />
  <Property Name="Name" Type="String" />
  <Property Name="Address" Type="String" />
  <Property Name="PhoneNumber" Type=" String"/>
</EntityType>

Dans cet exemple, la propriété EmailID est spécifiée en tant que propriété Key de cette entité. La clé ne peut pas avoir la valeur Null ; en d'autres termes, une instance de Person doit avoir un identificateur de messagerie. La propriété Key permet d'identifier les instances du type dans les applications qui l'utilisent.

Clé d'entité

Un objet EntityType doit définir une propriété Key qui est constituée d'une ou de plusieurs des propriétés définies pour ce type. Tout jeu de propriétés SimpleType peut servir de propriété Key. Aucune des propriétés utilisées dans la clé Key ne peut avoir la valeur Null dans du code d'application.

NoteRemarque

Il est déconseillé d'utiliser un type String en tant que clé (Key) aussi bien pour des raisons de performances que de prévisibilité ; la signification de str1 == str2 est fortement ambigüe.

L'exemple suivant illustre l'assignation de l'attribut Key à une clé (Key) composite à l'aide de deux propriétés SimpleType :

<EntityType Name="Person">
   <Key>
      <PropertyRef Name="ContactId" />
      <PropertyRef Name="Name" />
   </Key>
      <Property Name="ContactId" Type="String" Nullable="false" />
      <Property Name="Name" Type="String" Nullable="false" />
      <Property Name="PhoneNumber" Type="String" />
</EntityType>

Voir aussi

Concepts

Types simples (EDM)
Type complexe (EDM)
Types de modèles EDM