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.
Remarque : |
---|
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