Zuordnungstyp
Ein Zuordnungstyp (auch als Zuordnung bezeichnet) ist der wesentliche Baustein zum Beschreiben von Beziehungen im Entity Data Model (EDM). In einem konzeptionellen Modell stellt eine Zuordnung eine Beziehung zwischen zwei Entitätstypen dar (z. B. Customer
und Order
). In einer Anwendung stellt eine Instanz einer Zuordnung eine bestimmte Zuordnung dar (z. B. eine Zuordnung zwischen einer Instanz von Customer
und einer Instanz von Order
). Zuordnungsinstanzen werden logisch in einem Zuordnungssatz gruppiert.
Eine Zuordnungsdefinition enthält die folgenden Informationen:
Eine eindeutige Bezeichnung. (Erforderlich)
Zwei Zuordnungsenden, je ein Ende für jeden Entitätstyp in der Beziehung. (Erforderlich)
Hinweis
Eine Zuordnung kann keine Beziehung zwischen mehr als zwei Entitätstypen darstellen. Eine Zuordnung kann jedoch eine Selbstbeziehung definieren, indem der gleichen Entitätstyp für beide Zuordnungsenden angegeben wird.
Eine Einschränkung der referenziellen Integrität. (Optional)
Jedes Zuordnungsende muss eine Multiplizität des Zuordnungsendes angeben, die die Anzahl möglicher Entitätstypinstanzen an einem Ende der Zuordnung angibt. Die Multiplizität eines Zuordnungsendes kann über einen Wert von eins (1), null oder eins (0..1) oder n (*) verfügen. Auf Entitätstypinstanzen an einem Ende einer Zuordnung kann über Navigationseigenschaften oder Fremdschlüssel zugegriffen werden, sofern sie für einen Entitätstyp verfügbar gemacht werden. Weitere Informationen finden Sie unter Entity Data Model: Foreign Keys.
Beispiel
Die unten stehende Abbildung zeigt ein konzeptionelles Modell mit zwei Zuordnungen: PublishedBy
und WrittenBy
. Die Zuordnungsenden für die PublishedBy
-Zuordnung sind die Entitätstypen Book
und Publisher
. Die Multiplizität des Publisher
-Endes ist eins (1), und die Multiplizität des Book
-Endes ist n (*), wodurch angegeben wird, dass ein Verleger viele Bücher veröffentlicht und ein Buch von einem Verleger veröffentlicht wird.
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 die in der Abbildung oben gezeigte PublishedBy
-Zuordnung:
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>