propertyproperty

Eigenschaften sind die grundlegenden Bausteine von Entitätstypen und komplexe Typen.Properties are the fundamental building blocks of entity types and complex types. Eigenschaften definieren die Form und die Eigenschaften der Daten, die eine Entitätstypinstanz oder komplexe Typinstanz enthält.Properties define the shape and characteristics of data that an entity type instance or complex type instance will contain. Eigenschaften in einem konzeptionellen Modell sind analog zu den für eine Klasse definierten Eigenschaften.Properties in a conceptual model are analogous to properties defined on a class. 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.In the same way that properties on a class define the shape of the class and carry information about objects, properties in a conceptual model define the shape of an entity type and carry information about entity type instances.

Hinweis

Eigenschaften, wie in diesem Thema beschrieben, unterscheiden sich von Navigationseigenschaften.Properties, as described in this topic, are different from navigation properties. Weitere Informationen finden Sie unter Navigationseigenschaften.For more information, see navigation properties.

Eine Eigenschaftendefinition enthält die folgenden Informationen:A property definition contains the following information:

  • Einen Eigenschaftennamen.A property name. (erforderlich)(Required)

  • Einen Eigenschaftentyp.A property type. (erforderlich)(Required)

  • Eine Reihe von Facets.A set of facets. (Optional)(Optional)

Eine Eigenschaft kann primitive Daten (z. B. eine Zeichenfolge, eine ganze Zahl oder einen booleschen Wert) oder strukturierte Daten (z. B. einen komplexen Typ) enthalten.A property can contain primitive data (such as a string, an integer, or a Boolean value), or structured data (such as a complex type). Eigenschaften primitiven Typs werden auch als skalare Eigenschaften bezeichnet.Properties that are of primitive type are also called scalar properties. Weitere Informationen finden Sie unter Entity Data Model: Primitive Datentypen.For more information, see Entity Data Model: Primitive Data Types.

Hinweis

Ein komplexer Typ selbst kann über Eigenschaften, die komplexe Typen sind, verfügen.A complex type can, itself, have properties that are complex types.

BeispielExample

Die unten stehende Abbildung zeigt ein konzeptionelles Modell mit drei Entitätstypen: Book, Publisher und Author.The diagram below shows a conceptual model with three entity types: Book, Publisher, and Author. Jeder Entitätstyp verfügt über mehrere Eigenschaften, obwohl keine Typinformationen für jede Eigenschaft in der Abbildung bereitgestellt werden.Each entity type has several properties, although type information for each property is not conveyed in the diagram. Eigenschaften, die Entitätsschlüssel mit (Schlüssel) gekennzeichnet sind.Properties that are entity keys are denoted with (Key).

Beispielmodell mit drei Entitätstypen

Die ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL) Bezeichnung konzeptionelle Schemadefinitionssprache (CSDL), konzeptionelle Modelle zu definieren.The ADO.NET Entity Framework uses a domain-specific language (DSL) called conceptual schema definition language (CSDL) to define conceptual models. Die folgende CSDL definiert den Book-Entitätstyp (wie oben in der Abbildung gezeigt) und gibt Typ und Namen jeder Eigenschaft mit XML-Attributen an.The following CSDL defines the Book entity type (as shown in the diagram above) and indicates the type and name of each property by using XML attributes. Ein optionales Facet, Nullable, wird auch mit einem XML-Attribut definiert.An optional facet, Nullable, is also defined by using an XML attribute.

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

Es ist möglich, dass eine der in der Abbildung gezeigten Eigenschaften eine komplexe Typeigenschaft ist.It is possible that one of the properties shown in the diagram is a complex type property. Die Address-Eigenschaft für den Publisher-Entitätstyp könnte z. B. eine aus mehreren skalaren Eigenschaften bestehende komplexe Typeigenschaft sein, wie StreetAddress, City, StateOrProvince, Country und PostalCode.For example, the Address property on the Publisher entity type could be a complex type property composed of several scalar properties, such as StreetAddress, City, StateOrProvince, Country, and PostalCode. Die CSDL-Darstellung eines entsprechenden komplexen Typs würde wie folgt lauten:The CSDL representation of such a complex type would be as follows:

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

Siehe auchSee also