Partager via


Facette (Entity Data Model)

Une facette est utilisée pour ajouter des détails à une définition de propriété de type primitif. Une définition de propriété contient des informations sur le type de propriété ; mais souvent, plus de détails sont nécessaires. Par exemple, un type d'entité dans un modèle conceptuel peut avoir une propriété de type String dont la valeur ne peut pas être null. Les facettes vous permettent de spécifier ce niveau de détail.

Le tableau suivant décrit les facettes prises en charge dans le modèle EDM.

Ee382834.note(fr-fr,VS.100).gifRemarque :
Les valeurs et comportements exacts des facettes sont déterminés par l'environnement d'exécution qui utilise une implémentation EDM.

Facette Description S'applique à

Collation

Spécifie la table de classement (ou ordre de tri) à utiliser lors de l'exécution d'opérations de comparaison et de tri sur des valeurs de la propriété.

String

ConcurrencyMode

Indique que la valeur de la propriété doit être utilisée pour des contrôles d'accès concurrentiel optimiste.

Toutes les propriétés de type primitif

Default

Spécifie la valeur par défaut de la propriété si aucune valeur n'est fournie en cas d'instanciation.

Toutes les propriétés de type primitif

FixedLength

Spécifie si la longueur de la valeur de propriété peut varier.

Binary, String

MaxLength

Spécifie la longueur maximale de la valeur de propriété.

Binary, String

Nullable

Spécifie si la propriété peut avoir une valeur null.

Toutes les propriétés de type primitif

Precision

Pour les propriétés de type Decimal, spécifie le nombre de chiffres qu'une valeur de propriété peut avoir. Pour les propriétés de type Time, DateTime et DateTimeOffset, spécifie le nombre de chiffres de la partie fractionnaire des secondes de la valeur de propriété.

DateTime, DateTimeOffset, Decimal, Time,

Scale

Spécifie le nombre de chiffres à droite de la virgule décimale pour la valeur de propriété.

Decimal

Unicode

Indique si la valeur de propriété est stockée au format Unicode.

String

Exemple

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 un type d'entité Book. Notez que les facettes sont implémentées en tant qu'attributs XML. Les valeurs de facette indiquent qu'aucune propriété ne peut avoir la valeur null, et que les facettes Scale et Precision de la propriété Revision ont la valeur 29.

<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>

Voir aussi

Concepts

Concepts clés d'Entity Data Model
Entity Data Model