Partager via


facette

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 définie sur Null. Les facettes vous permettent de spécifier ce niveau de détail.

Le tableau ci-dessous décrit les facettes prises en charge dans l’EDM.

Remarque

Les valeurs et comportements exacts des facettes sont déterminés par l’environnement d’exécution qui utilise une implémentation EDM.

Facette Descriptif S’applique à
Collation Spécifie la séquence de classement (ou séquence de tri) à utiliser lors de l’exécution d’opérations de comparaison et de classement sur les valeurs de la propriété. String
ConcurrencyMode Indique que la valeur de la propriété doit être utilisée pour les vérifications d’accès concurrentiel optimistes. 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 lors de l’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, DateTimeet DateTimeOffset, spécifie le nombre de chiffres pour la partie fractionnaire de secondes de la valeur de propriété. DateTime, , DateTimeOffsetDecimal, , Time
Scale Spécifie le nombre de chiffres à droite du point décimal de la valeur de propriété. Décimal
Unicode Indique si la valeur de propriété est stockée en tant qu’Unicode. String

Exemple :

Le ADO.NET Entity Framework utilise un langage spécifique au domaine (DSL) appelé langage de définition de schéma conceptuel (CSDL) pour définir des modèles conceptuels. Le langage 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 être définie sur Null et que les Scale valeurs et Precision celles de la Revision propriété sont toutes définies sur 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