Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Zuordnungssatz ist ein logischer Container für Zuordnungsinstanzen desselben Typs. Ein Zuordnungssatz ist kein Datenmodellierungskonstrukt; d. h., es beschreibt nicht die Struktur von Daten oder Beziehungen. Stattdessen stellt ein Zuordnungssatz ein Konstrukt für eine Hosting- oder Speicherumgebung bereit (z. B. die Common Language Runtime oder eine SQL Server-Datenbank), um Zuordnungsinstanzen zu gruppieren, damit sie einem Datenspeicher zugeordnet werden können.
Ein Zuordnungssatz wird innerhalb eines Entitätscontainers definiert, bei dem es sich um eine logische Gruppierung von Entitätssätzen und Zuordnungssätzen handelt.
Eine Definition für einen Zuordnungssatz enthält die folgenden Informationen:
Den Namen des Zuordnungssatzes. (Erforderlich)
Die Zuordnung, von der er Instanzen enthält. (Erforderlich)
Zwei Zuordnungssatzenden.
Beispiel
Das folgende Diagramm zeigt ein konzeptionelles Modell mit zwei Zuordnungen: PublishedByund WrittenBy. Obwohl Informationen zu Zuordnungssätzen nicht im Diagramm vermittelt werden, zeigt das nächste Diagramm ein Beispiel für Zuordnungssätze und Entitätssätze basierend auf diesem Modell.
Das folgende Beispiel zeigt einen Zuordnungssatz (PublishedBy) und zwei Entitätssätze (Books und Publishers) basierend auf dem oben gezeigten konzeptionellen Modell. Bi im Books Entitätssatz stellt eine Instanz des Book Entitätstyps zur Laufzeit dar. Ebenso stellt Pj eine Publisher Instanz im Publishers Entitätssatz dar. BiPj ist eine Instanz der PublishedBy Verknüpfung im PublishedBy Verknüpfungssatz.
Das ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL), die als konzeptuelle Schemadefinitionssprache (CSDL) bezeichnet wird, um konzeptionelle Modelle zu definieren. Die folgende CSDL definiert einen Entitätscontainer mit einem Zuordnungssatz für jede Zuordnung im obigen Diagramm. Beachten Sie, dass der Name und die Zuordnung für jeden Zuordnungssatz mithilfe von XML-Attributen definiert werden.
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
</EntityContainer>
Es ist möglich, mehrere Zuordnungssätze pro Zuordnung zu definieren, solange keine zwei Zuordnungssätze ein Zuordnungssatzende gemeinsam verwenden. Die folgende CSDL definiert einen Entitätscontainer mit zwei Zuordnungssätzen für die WrittenBy Zuordnung. Beachten Sie, dass mehrere Entitätssätze für die Book Und Author Entitätstypen definiert wurden und dass kein Zuordnungssatz ein Zuordnungssatzende teilt.
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="FictionBooks" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<EntitySet Name="FictionAuthors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
<AssociationSet Name="FictionWrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="FictionBooks" />
<End Role="Author" EntitySet="FictionAuthors" />
</AssociationSet>
</EntityContainer>