Entitätstyp (EDM)

Bei EntityType handelt es sich im Entitätsdatenmodell (EDM) um die Entwurfsvorlage für einen Datentyp in der Anwendungsdomäne. Eine Entitätsdeklaration stellt einen bestimmten Datentyp schematisch dar. Das Schema wird unabhängig von der Tabellenstruktur und dem Code verwendet, um alle Details zum Datentyp festzulegen. Wenn der Entwurf abgeschlossen ist, wird auf der Grundlage des Entwurfs ein programmierbarer Datentyp erstellt.

Ein EDM-EntityType wird verwendet, um ein Konzept auf der obersten Ebene zu modellieren, wie beispielsweise einen Kunden, eine Bestellung oder einen Lieferanten in einer Geschäftsanwendung. Jede Entität wird in der konzeptionellen Schemadefinitionssprache (CSDL) als EntityType definiert. Nachdem der EntityType schematisch definiert wurde, kann er als Operationseinheit bei der Entwicklung von Anwendungen verwendet werden. Jeder EntityType ist konzeptionell unabhängig und verfügt über eine eindeutige Identität.

Eigenschaften und Identität von Entitäten

Ein EntityType in einem Schema verfügt über einen Namen, Eigenschaften und eine Key-Eigenschaft, um den Datentyp zu identifizieren, wenn dieser vom Anwendungscode instanziiert wird.

Die meisten Informationen über einen EntityType sind in dessen Eigenschaften enthalten. Eine Eigenschaft besteht aus Daten eines SimpleType- oder ComplexType-EDM. Eigenschaften enthalten nur einen Wert, ein NavigationProperty-Typ kann jedoch mit einer Association verwendet werden, um eine Eigenschaft zu implementieren, die wie eine Auflistung von Datenelementen verwendet werden kann. Weitere Informationen über Navigationseigenschaften finden Sie im EDM unter Navigationseigenschaften (EDM). Weitere Informationen über Zuordnungen finden Sie unter Entity Data Model-Beziehungen .

Eigenschaften

Durch Eigenschaften können einem EntityType Informationen hinzugefügt werden, indem einem Wert mit einem festgelegten Datentyp ein eindeutiger Name zugeordnet wird. Die Eigenschaftenspezifikation besteht aus einem Namen und einem Typ und kann mithilfe der GetterAccess- und SetterAccess-Attribute Zugriffeinschränkungen festlegen. Der Typ einer Eigenschaft wird aus den Typen ausgewählt, die als SimpleType-EDM angegeben wurden.

Der Wert Null ist für alle Eigenschaften zulässig, mit Ausnahme der Werte in einemKey. In folgendem Beispiel wird die Deklaration eines EntityType dargestellt.

<EntityType Name="Person">
  <Key>
      <PropertyRef Name="EmailID"/>
  </Key>
  <Property Name="EmailID" Type="String" Nullable="false" />
  <Property Name="Name" Type="String" />
  <Property Name="Address" Type="String" />
  <Property Name="PhoneNumber" Type=" String"/>
</EntityType>

In diesem Beispiel wird die EmailID-Eigenschaft als die Key-Eigenschaft in dieser Entität festgelegt. Der Schlüssel kann nicht den Wert Null haben, das heißt, eine Person-Instanz muss über einen E-Mail-Bezeichner verfügen. Mit dem Key werden in den Anwendungen, von denen er verwendet wird, die Instanzen des Typs identifiziert.

Entitätsschlüssel

Ein EntityType muss einen Key definieren, der aus mindestens einer für diesen Typ festgelegten Eigenschaft zusammengesetzt ist. Als Key kann ein beliebiger Satz von SimpleType-Eigenschaften verwendet werden. Keine der im Key verwendeten Eigenschaften darf im Anwendungscode Null sein.

NoteHinweis

Die Verwendung eines String-Typs als Key wird nicht empfohlen, da dies sowohl die Leistung als auch die Berechenbarkeit beeinträchtigt. Die Bedeutung von str1 == str2 ist nicht eindeutig.

Im folgenden Beispiel ist dargestellt, wie das Key-Attribut mithilfe von zwei SimpleType-Eigenschaften einem zusammengesetzten Key zugeordnet wird:

<EntityType Name="Person">
   <Key>
      <PropertyRef Name="ContactId" />
      <PropertyRef Name="Name" />
   </Key>
      <Property Name="ContactId" Type="String" Nullable="false" />
      <Property Name="Name" Type="String" Nullable="false" />
      <Property Name="PhoneNumber" Type="String" />
</EntityType>

Siehe auch

Konzepte

Einfache Typen (EDM)
Komplexer Typ (EDM)
Entity Data Model-Typen