Freigeben über


AssociationSet-Element (EntityContainer SSDL)

Im Entitätsdatenmodell (EDM) gibt das AssociationSet-Element in der Datenspeicherschema-Definitionssprache (SSDL) eine Zuordnung der Speichermetadaten an.

Von dem aus dem konzeptionellen Schema erstellten Objektmodell werden sowohl programmierbare Klassen als auch Speicherstrukturen benötigt, die die Daten der auf dem Modell basierenden Anwendungen aufnehmen. Ein AssociationSetMapping in der Mapping-Spezifikationssprache (MSL) verbindet das in der konzeptionellen Schemadefinitionssprache (CSDL) definierte AssociationSet mit dem AssociationSet in SSDL, das die Speicherstrukturen beschreibt.

Die folgende CSDL-Syntax zeigt die Deklaration eines AssociationSet mit dem Namen FK_Employee_Employee_ManagerID im AdventureWorks.Store-Schema. Dieses AssociationSet gehört zum EntityContainer mit dem Namen AdventureWorks.Store in den AdventureWorks-Metadaten. Obwohl dieser EntityContainer im AdventureWorks.Store-Schema definiert wird, ist der EntityContainer ein unabhängiges Element.

Das AssociationSet-Element weist einen Name zu und identifiziert die in dieser Zuordnungssatzbezeichnung verwendete AssociationType.

  <EntityContainer Name="Adventureworks.Store">
<AssociationSet Name="FK_Employee_Employee_ManagerID"
        Association="Adventureworks.Store.FK_Employee_Employee_ManagerID">
      <End Role="Employee" EntitySet="Employee" />
      <End Role="Employee1" EntitySet="Employee" />
    </AssociationSet>
  </EntityContainer>

  <Association Name="FK_Employee_Employee_ManagerID">
    <End Role="Employee" Type="Adventureworks.Store.Employee" Multiplicity="0..1" />
    <End Role="Employee1" Type="Adventureworks.Store.Employee" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Employee">
        <PropertyRef Name="EmployeeID" />
      </Principal>
      <Dependent Role="Employee1">
        <PropertyRef Name="ManagerID" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

In diesem Beispiel gibt das ReferentialConstraint-Element an, dass Zuordnungen von den Datenbankstrukturen abhängig sind. Das ReferentialConstraint-Element gibt eine Principal Role und eine Dependent Role vor allem aber einen PropertyRef für jede Rolle an, die in der Datenbank einer Fremdschlüsselbeziehung entspricht.

Der PropertyRef der Principal Role gibt die Eigenschaft an, die einer Fremdschlüsselspalte der "Employee"-Datenbanktabelle zugewiesen wird. Der PropertyRef der Dependent Role gibt die Spalte an, die den Fremdschlüssel enthält. Beispielsweise ist in der FK_Employee_Employee_ManagerID-Zuordnung der PropertyRef der Dependent Role die EmployeeID-Eigenschaft des in der Fremdschlüsselspalte ManagerID der Employee-Tabelle enthaltene Managermitarbeiter. Ein vollständiges Beispiel, das ReferentialConstraint verwendet, finden Sie unter Implementieren von Zuordnungen (EDM).

Wenn das Objektmodell zur Programmierung erstellt wurde, können Entitäten des FK_Employee_Employee_ManagerID-Typs im Anwendungscode instanziiert werden.

Der Vollständigkeit halber ist die Deklaration des AssociationType im Beispiel nach den Definitionen von EntityContainer und AssociationSet enthalten.

Siehe auch

Konzepte

AssociationSet-Element (EntityContainer CSDL)
EntitySetMapping-Element (MSL)
Entitätenmengen (EDM)
Zuordnungssätze (EDM)
Das vollständige AdventureWorks-Modell (EDM)