Facets (CSDL)
Facets in konzeptioneller Schemadefinitionssprache (CSDL) stellen Einschränkungen für Eigenschaften von Entitätstypen und komplexen Typen dar.Facets werden in den folgenden CSDL-Elementen als XML-Attribute angezeigt:
In der folgenden Tabelle werden die in CSDL unterstützten Facets beschrieben.Alle Facets sind optional.Beim Generieren einer Datenbank aus einem konzeptionellen Modell werden einige der unten aufgeführten Facets vom Entity Framework verwendet.Weitere Informationen finden Sie unter Generate Database Wizard.
Hinweis
Informationen zu Datentypen in einem konzeptionellen Modell finden Sie unter Konzeptionelle Modelltypen (CSDL).
Facet |
Beschreibung |
Gilt für |
Wird für die Datenbankgenerierung verwendet |
Wird von der Laufzeit verwendet |
---|---|---|---|---|
Collation |
Gibt die bei Vergleichs- und Sortiervorgängen zu verwendende Sortierreihenfolge für die Werte der Eigenschaft an. |
Edm.String |
Ja |
Nein |
ConcurrencyMode |
Gibt an, dass der Eigenschaftswert für Prüfungen der vollständigen Parallelität verwendet werden soll. |
Alle EDMSimpleType-Eigenschaften |
Nein |
Ja |
Default |
Gibt den Standardwert für die Eigenschaft an, wenn bei der Instanziierung kein Wert angegeben wird. |
Alle EDMSimpleType-Eigenschaften |
Ja |
Ja |
FixedLength |
Gibt an, ob sich die Länge des Eigenschaftswerts ändern kann. |
Edm.Binary, Edm.String |
Ja |
Nein |
MaxLength |
Gibt die maximale Länge des Eigenschaftswerts an. |
Edm.Binary, Edm.String |
Ja |
Nein |
Nullable |
Gibt an, ob die Eigenschaft über einen null-Wert verfügen kann. |
Alle EDMSimpleType-Eigenschaften |
Ja |
Ja |
Precision |
Bei Eigenschaften des Typs Decimal wird die Anzahl der Stellen angegeben, über die ein Eigenschaftswert verfügen kann. Bei Eigenschaften der Typen Time, DateTime und DateTimeOffset wird die Anzahl der Dezimalstellen für die Sekundenbruchteile des Eigenschaftswerts angegeben. |
Edm.DateTime, Edm.DateTimeOffset, Edm.Decimal und Edm.Time. |
Ja |
Nein |
Scale |
Gibt die Anzahl der Dezimalstellen für den Eigenschaftswert an. |
Edm.Decimal |
Ja |
Nein |
Unicode |
Gibt an, ob der Eigenschaftswert als Unicode gespeichert wird. |
Edm.String |
Ja |
Ja |
Hinweis Beim Generieren einer Datenbank aus einem konzeptionellen Modell erkennt der Assistent zur Datenbankgenerierung den Wert des StoreGeneratedPattern-Attributs für ein Property-Element, wenn es sich im folgenden Namespace befindet: https://schemas.microsoft.com/ado/2009/02/edm/annotation.Die unterstützten Werte für das Attribut sind Identity und Computed.Der Wert für Identity erzeugt eine Datenbankspalte mit einem Identitätswert, der in der Datenbank generiert wird.Der Wert für Computed erzeugt eine Spalte mit einem Wert, der in der Datenbank berechnet wird.
Beispiel
Das folgende Beispiel zeigt für die Eigenschaften eines Entitätstyps übernommene Facets:
<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>
Weitere Informationen finden Sie unter Property-Element (CSDL).
Siehe auch
Verweis
System.Data.Metadata.Edm.Facet