Partager via


Facettes (CSDL)

Les facettes dans le langage CSDL (Conceptual Schema Definition Language) représentent des contraintes sur les propriétés de types d'entités et de types complexes. Les facettes apparaissent comme des attributs XML sur les éléments de CSDL suivants :

Les facettes dans le langage CSDL sont utilisées par Entity Framework lors de la création d'une base de données à partir d'un modèle conceptuel. Pour plus d'informations, consultez Generate Database Wizard.

Le tableau ci-dessous décrit les facettes prises en charge dans le langage CSDL. Toutes les facettes sont facultatives.

Cc716737.note(fr-fr,VS.100).gifRemarque :
Pour plus d'informations sur les types de données dans un modèle conceptuel, consultez Types de modèle conceptuel.

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

Edm.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 EDMSimpleType

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 EDMSimpleType

FixedLength

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

Edm.Binary, Edm.String

MaxLength

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

Edm.Binary, Edm.String

Nullable

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

Toutes les propriétés EDMSimpleType

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

Edm.DateTime, Edm.DateTimeOffset, Edm.Decimal et Edm.Time.

Scale

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

Edm.Decimal

Unicode

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

Edm.String

Remarque   Lors de la création d'une base de données à partir d'un modèle conceptuel, l'Assistant Génération de la base de données reconnaîtra la valeur de l'attribut StoreGeneratedPattern sur un élément Property s'il se trouve dans l'espace de noms suivant : https://schemas.microsoft.com/ado/2009/02/edm/annotation. Les valeurs prises en charge pour l'attribut sont Identity et Computed. Une valeur Identity produira une colonne de base de données avec une valeur d'identité générée dans la base de données. Une valeur Computed produira une colonne avec une valeur calculée dans la base de données.

Exemple

L'exemple suivant illustre l'application de facettes aux propriétés d'un type d'entité :

<EntityType Name="Product">
  <Key>
    <PropertyRef Name="ProductId" />
  </Key>
  <Property Type="Int32" 
            Name="ProductId" Nullable="false" 
            a:StoreGeneratedPattern="Identity" 
   xmlns:a="https://schemas.microsoft.com/ado/2009/02/edm/annotation" />
  <Property Type="String" 
            Name="ProductName" 
            Nullable="false" 
            MaxLength="50" />
  <Property Type="String" 
            Name="Location" 
            Nullable="true" 
            MaxLength="25" />
</EntityType>

Pour plus d'informations, consultez Élément Property (CSDL).

Voir aussi

Référence

System.Data.Metadata.Edm.Facet

Concepts

Spécification CSDL

Autres ressources

facet (Entity Data Model)
Spécifications CSDL, SSDL et MSL