Facet

Ein Facet wird verwendet, um einer primitiven Typeigenschaftendefinition Details hinzuzufügen. Die Definition einer Eigenschaft enthält Informationen zum Eigenschaftentyp, oft sind jedoch weitere Details erforderlich. Ein Entitätstyp in einem konzeptionellen Modell könnte z. B. über eine Eigenschaft vom Typ String verfügen, deren Wert nicht auf NULL festgelegt werden kann. Mit Facets können Sie diese Detailebene angeben.

In der nachfolgenden Tabelle werden die im EDM unterstützten Facets beschrieben.

Hinweis

Die genauen Werte und Verhalten von Facets werden von der Laufzeitumgebung bestimmt, die eine EDM-Implementierung verwendet.

Facet Beschreibung Gilt für:
Collation Gibt die bei Vergleich- und Sortiervorgängen zu verwendende Sortierreihenfolge für die Werte der Eigenschaft an. String
ConcurrencyMode Gibt an, dass der Eigenschaftswert für Prüfungen der vollständigen Parallelität verwendet werden soll. Alle primitiven Typeigenschaften
Default Gibt den Standardwert der Eigenschaft an, wenn bei der Instanziierung kein Wert angegeben wird. Alle primitiven Typeigenschaften
FixedLength Gibt an, ob sich die Länge des Eigenschaftswerts ändern kann. Binary, String
MaxLength Gibt die maximale Länge des Eigenschaftswerts an. Binary, String
Nullable Gibt an, ob die Eigenschaft über einen NULL-Wert verfügen kann. Alle primitiven Typeigenschaften
Precision Bei Eigenschaften des Typs Decimal wird die Anzahl der Ziffern angegeben, über die ein Eigenschaftswert verfügen kann. Bei Eigenschaften der Typen Time, DateTime und DateTimeOffset wird die Anzahl der Dezimalstellen für die Sekunden des Eigenschaftswerts angegeben. DateTime, DateTimeOffset, Decimal, Time,
Scale Gibt die Anzahl der Dezimalstellen für den Eigenschaftswert an. Decimal
Unicode Gibt an, ob der Eigenschaftswert als Unicode gespeichert wird. String

Beispiel

Das ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL) mit der Bezeichnung „konzeptionelle Schemadefinitionssprache“ (CSDL), um konzeptionelle Modelle zu definieren. Die folgende CSDL definiert einen Book-Entitätstyp. Beachten Sie, dass Facets als XML-Attribute implementiert werden. Die Facetwerte geben an, dass keine Eigenschaft auf NULL festgelegt werden kann, und dass Scale und Precision der Revision-Eigenschaft jeweils auf 29 festgelegt werden.

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

Siehe auch