Association-Element (SSDL)
Das Association-Element der Datenspeicherschema-Definitionssprache (Store Schema Definition Language, SSDL) gibt Tabellenspalten an, die in der zugrunde liegenden Datenbank an einer Fremdschlüsseleinschränkung teilnehmen.Zwei erforderliche untergeordnete End-Elemente geben die Tabellen an den Enden der Zuordnung und die Multiplizität an jedem Ende an.Ein optionales ReferentialConstraint-Element gibt die Prinzipal- und die abhängigen Enden der Zuordnung sowie die teilnehmenden Spalten an.Ist kein ReferentialConstraint-Element vorhanden, muss ein AssociationSetMapping-Element verwendet werden, um die Spaltenzuordnungen für die Zuordnung anzugeben.
Das Association-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (kein (null) oder ein Element)
End (genau zwei Elemente)
ReferentialConstraint (kein (null) oder ein Element)
Anmerkungselemente (kein (null) oder mehrere Elemente)
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das Association-Element übernommen werden können.
Attributname |
Ist erforderlich |
Wert |
---|---|---|
Name |
Ja |
Der Name der entsprechenden Fremdschlüsseleinschränkung in der zugrunde liegenden Datenbank. |
Hinweis
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Association-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für SSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.
Beispiel
Im folgenden Beispiel wird ein Association-Element gezeigt, das ein ReferentialConstraint-Element verwendet, um die Spalten anzugeben, die an der FK_CustomerOrders-Fremdschlüsseleinschränkung teilnehmen:
<Association Name="FK_CustomerOrders">
<End Role="Customers"
Type="ExampleModel.Store.Customers" Multiplicity="1">
<OnDelete Action="Cascade" />
</End>
<End Role="Orders"
Type="ExampleModel.Store.Orders" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="Customers">
<PropertyRef Name="CustomerId" />
</Principal>
<Dependent Role="Orders">
<PropertyRef Name="CustomerId" />
</Dependent>
</ReferentialConstraint>
</Association>
<Association Name="FK_CustomerOrders">
<End Role="Customers" Type="ExampleModel.Store.Customers" Multiplicity="1">
<OnDelete Action="Cascade" />
</End>
<End Role="Orders" Type="ExampleModel.Store.Orders" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="Customers">
<PropertyRef Name="CustomerId" />
</Principal>
<Dependent Role="Orders">
<PropertyRef Name="CustomerId" />
</Dependent>
</ReferentialConstraint>
</Association>
<Association Name="FK_CustomerOrders">
<End Role="Customers" Type="ExampleModel.Store.Customers" Multiplicity="1">
<OnDelete Action="Cascade" />
</End>
<End Role="Orders" Type="ExampleModel.Store.Orders" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="Customers">
<PropertyRef Name="CustomerId" />
</Principal>
<Dependent Role="Orders">
<PropertyRef Name="CustomerId" />
</Dependent>
</ReferentialConstraint>
</Association>
Siehe auch
Konzepte
Übersicht über das Entity Framework