Freigeben über


Property-Element (CSDL)

Das Property-Element in konzeptioneller Schemadefinitionssprache (CSDL) kann ein untergeordnetes Element des EntityType-Elements, des ComplexType-Elements oder des RowType-Elements sein.

EntityType- und ComplexType-Element-Anwendungen

Property-Elemente (als untergeordnete Elemente des EntityType- oder ComplexType-Elements) definieren die Form und die Eigenschaften der Daten, die eine Entitätstypinstanz oder eine komplexe Typinstanz enthält.Eigenschaften in einem konzeptionellen Modell sind analog zu den Eigenschaften, die für eine Klasse definiert werden.So wie Eigenschaften die Form einer Klasse definieren und Informationen zu Objekten enthalten definieren Eigenschaften in einem konzeptionellen Modell die Form eines Entitätstyps und enthalten Informationen zu Entitätstypinstanzen.

Das Property-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):

Die folgenden Facets können für ein Property-Element übernommen werden: Nullable, DefaultValue, MaxLength, FixedLength, Precision, Scale, Unicode, Collation, ConcurrencyMode.Facets sind XML-Attribute, die Informationen über die Speicherung von Eigenschaftswerten im Datenspeicher bereitstellen.Weitere Informationen finden Sie unter Facets (CSDL).

Hinweis

Facets können nur auf Eigenschaften vom Typ EDMSimpleType angewendet werden.Weitere Informationen finden Sie unter Konzeptionelle Modelltypen (CSDL).

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die für das Property-Element übernommen werden können.

Attributname

Ist erforderlich

Value

Name

Ja

Der Name der Eigenschaft.

Type

Ja

Der Typ des Eigenschaftswerts.Der Eigenschaftswerttyp muss ein EDMSimpleType oder ein komplexer Typ (durch einen vollqualifizierten Namen angegeben) sein, der sich innerhalb des Bereichs des Modells befindet.Weitere Informationen finden Sie unter Konzeptionelle Modelltypen (CSDL).

Nullable

Nein

True (Standardwert) oder False, je nach dem, ob die Eigenschaft über einen Null-Wert verfügen kann.

HinweisHinweis
In der Version von CSDL, die im https://schemas.microsoft.com/ado/2006/04/edm-Namespace angegeben wird, muss eine komplexe Typeigenschaft Nullable="False" aufweisen.

DefaultValue

Nein

Der Standardwert der Eigenschaft.

MaxLength

Nein

Die maximale Länge des Eigenschaftswerts.

FixedLength

Nein

True oder False, abhängig davon, ob der Eigenschaftswert als Zeichenfolge mit fester Länge gespeichert wird.

Precision

Nein

Die Genauigkeit des Eigenschaftswerts.

Scale

Nein

Die Skalierung des Eigenschaftswerts.

Unicode

Nein

True oder False, abhängig davon, ob der Eigenschaftswert als Unicode-Zeichenfolge gespeichert wird.

Collation

Nein

Eine Zeichenfolge, die die Sortierreihenfolge angibt, die in der Datenquelle verwendet werden soll.

ConcurrencyMode

Nein

None (Standardwert) oder Fixed.Wenn der Wert auf Fixed festgelegt wird, wird der Eigenschaftswert in vollständigen Parallelitätsprüfungen verwendet.

Hinweis

Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Property-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.

Beispiel

Das folgende Beispiel zeigt ein EntityType-Element mit drei Property-Elementen:

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

Das folgende Beispiel zeigt ein ComplexType-Element mit fünf Property-Elementen:

<ComplexType Name="Address" >
  <Property Type="String" Name="StreetAddress" Nullable="false" />
  <Property Type="String" Name="City" Nullable="false" />
  <Property Type="String" Name="StateOrProvince" Nullable="false" />
  <Property Type="String" Name="Country" Nullable="false" />
  <Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>

RowType-Element-Anwendung

Property-Elemente (als untergeordnete Elemente eines RowType-Elements) definieren die Form und die Eigenschaften der Daten, die an eine modelldefinierte Funktion übergeben oder von einer modelldefinierten Funktion zurückgegeben werden können.Weitere Informationen finden Sie unter Function-Element (CSDL).

Das Property-Element kann über genau eines der folgenden untergeordneten Elemente verfügen:

Das Property-Element kann über eine beliebige Anzahl untergeordneter Anmerkungselemente verfügen.

Hinweis

Anmerkungselemente sind nur in konzeptionellen Modellen für Anwendungen zulässig, die auf .NET Framework, Version 4 oder später, abzielen.Der XML-Namespace für diese Modelle ist https://schemas.microsoft.com/ado/2008/09/edm.

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die für das Property-Element übernommen werden können.

Attributname

Ist erforderlich

Value

Name

Ja

Der Name der Eigenschaft.

Type

Ja

Der Typ des Eigenschaftswerts.

Nullable

Nein

True (Standardwert) oder False, je nach dem, ob die Eigenschaft den Wert NULL haben kann.

HinweisHinweis
In der Version von CSDL, die im https://schemas.microsoft.com/ado/2006/04/edm-Namespace angegeben wird, muss eine komplexe Typeigenschaft Nullable="False" aufweisen.

DefaultValue

Nein

Der Standardwert der Eigenschaft.

MaxLength

Nein

Die maximale Länge des Eigenschaftswerts.

FixedLength

Nein

True oder False, abhängig davon, ob der Eigenschaftswert als Zeichenfolge mit fester Länge gespeichert wird.

Precision

Nein

Die Genauigkeit des Eigenschaftswerts.

Scale

Nein

Die Skalierung des Eigenschaftswerts.

Unicode

Nein

True oder False, abhängig davon, ob der Eigenschaftswert als Unicode-Zeichenfolge gespeichert wird.

Collation

Nein

Eine Zeichenfolge, die die Sortierreihenfolge angibt, die in der Datenquelle verwendet werden soll.

Hinweis

Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Property-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.

Beispiel

Das folgende Beispiel zeigt Property-Elemente, die zur Definition der Form des Rückgabetyps einer modelldefinierten Funktion verwendet wurden.

<Function Name="LastNamesAfter">
  <Parameter Name="someString" Type="Edm.String" />
  <ReturnType>
   <CollectionType>
     <RowType>
       <Property Name="FirstName" Type="Edm.String" Nullable="false" />
       <Property Name="LastName" Type="Edm.String" Nullable="false" />
     </RowType>
   </CollectionType>
  </ReturnType>
  <DefiningExpression>
            SELECT VALUE ROW(p.FirstName, p.LastName)
            FROM SchoolEntities.People AS p
            WHERE p.LastName &gt;= somestring
  </DefiningExpression>
</Function>

Siehe auch

Konzepte

Übersicht über das Entity Framework

CSDL-Spezifikation

Schema-Element (CSDL)

Eigenschaft

Facet

FunctionImport-Element (CSDL)

Andere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen

ADO.NET Entity Data Model Tools