Freigeben über


Zuordnungsende

Ein Zuordnungsende identifiziert den Entitätstyp an einem Ende einer Zuordnung und die Anzahl von Entitätstypinstanzen, die an diesem Ende einer Zuordnung vorhanden sein können. Zuordnungsenden werden als Teil einer Zuordnung definiert. Eine Zuordnung muss genau zwei Zuordnungsenden aufweisen. Navigationseigenschaften ermöglichen die Navigation zwischen den Zuordnungsenden.

Eine Zuordnungsendedefinition enthält die folgenden Informationen:

  • Einen der Entitätstypen der Zuordnung. (Erforderlich)

    Hinweis

    Für eine bestimmte Zuordnung kann der für jedes Zuordnungsende angegebene Entitätstyp gleich sein. Dadurch wird eine Selbstzuordnung erstellt.

  • Eine Multiplizität des Zuordnungsendes, 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.

  • Der Name für das Zuordnungsende. (Optional)

  • Informationen zu Vorgängen, die für das Zuordnungsende ausgeführt werden, z. B. ON DELETE CASCADE. (Optional)

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.

Example model with three entity types

Das ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL) mit der Bezeichnung „konzeptionelle Schemadefinitionssprache“ (CSDL), um konzeptionelle Modelle zu definieren. Die nachfolgende CSDL definiert die in der Abbildung oben gezeigte PublishedBy-Zuordnung. Beachten Sie, dass Typ, Name und Multiplizität jedes Zuordnungsendes von XML-Attributen (den Attribute Type, Role bzw. Multiplicity) angegeben werden. Optionale Informationen zu für ein Ende ausgeführten Vorgängen werden in einem XML-Element (dem OnDelete-Element) angegeben. In diesem Fall werden beim Löschen eines Verlegers auch alle zugeordneten Bücher gelöscht.

  <Association Name="PublishedBy">
    <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
    <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
  <OnDelete Action="Cascade" />
</End>
  </Association>

Siehe auch