End-Element (SSDL)
Das End-Element der Datenspeicherschema-Definitionssprache (Store Schema Definition Language, SSDL) gibt die Tabelle und die Anzahl von Zeilen an einem Ende einer Fremdschlüsseleinschränkung in der zugrunde liegenden Datenbank an. Das End-Element kann ein untergeordnetes Element des Association-Element oder des AssociationSet-Element. sein. In jedem dieser Fälle sind andere untergeordnete Elemente und anwendbare Attribute die möglich.
Das End-Element als untergeordnetes Objekt des Association-Elements
Ein End-Element (als untergeordnetes Element des Association-Elements) gibt die Tabelle und die Anzahl von Zeilen am Ende einer Fremdschlüsseleinschränkung mit dem Type-Attribut und dem Multiplicity-Attribut an. Die Enden einer Fremdschlüsseleinschränkung sind als Teil einer SSDL-Zuordnung definiert. Eine SSDL-Zuordnung muss genau zwei Enden aufweisen.
Ein End-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (kein (null) oder ein Element)
OnDelete (kein (null) oder ein Element)
Anmerkungselemente (kein Element (null) oder mehrere Elemente)
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das End-Element übernommen werden können, wenn es das untergeordnete Element eines Association-Elements ist.
Attributname | Ist erforderlich | Wert |
---|---|---|
Type |
Ja |
Der vollqualifizierte Name der SSDL-Entitätenmenge, die sich am Ende der Fremdschlüsseleinschränkung befindet. |
Role |
Nein |
Der Wert des Role-Attributs in entweder dem Prinzipal- oder dem Dependent-Element des entsprechenden ReferentialConstraint-Elements (sofern verwendet). |
Multiplicity |
Ja |
1, 0..1, oder *, abhängig von der Anzahl von Zeilen, die sich am Ende der Fremdschlüsseleinschränkung befinden.
|
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das End-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen. |
Beispiel
Das folgende Beispiel enthält ein Association-Element, das die FK_CustomerOrders-Fremdschlüsseleinschränkung definiert. Die für jedes End-Element festgelegten Multiplicity-Werte geben an, dass zwar viele Zeilen in der Tabelle Orders einer Zeile in der Tabelle Customers zugeordnet sein können, aber nur eine Zeile in der Tabelle Customers einer Zeile in der Tabelle Orders zugeordnet sein kann. Darüber hinaus gibt das OnDelete-Element an, dass alle Zeilen in der Tabelle Orders, die auf eine bestimmte Zeile in der Tabelle Customers verweisen, gelöscht werden, wenn die Zeile in der Tabelle Customers gelöscht wird.
<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>
Das End-Element als untergeordnetes Objekt des AssociationSet-Elements
Das End-Element (als untergeordnetes Element des AssociationSet-Elements) gibt eine Tabelle an einem Ende einer Fremdschlüsseleinschränkung in der zugrunde liegenden Datenbank an.
Ein End-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (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 End-Element übernommen werden können, wenn es sich dabei um das untergeordnete Element eines AssociationSet-Elements handelt.
Attributname | Ist erforderlich | Wert |
---|---|---|
EntitySet |
Ja |
Der Name der SSDL-Entitätenmenge, die sich am Ende der Fremdschlüsseleinschränkung befindet. |
Role |
Nein |
Der Wert eines der Role-Attribute, die für ein End-Element des entsprechenden Association-Elements angegeben wurden. |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das End-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen. |
Beispiel
Das folgende Beispiel zeigt ein EntityContainer-Element mit einem AssociationSet-Element mit zwei End-Elementen:
<EntityContainer Name="ExampleModelStoreContainer">
<EntitySet Name="Customers"
EntityType="ExampleModel.Store.Customers"
Schema="dbo" />
<EntitySet Name="Orders"
EntityType="ExampleModel.Store.Orders"
Schema="dbo" />
<AssociationSet Name="FK_CustomerOrders"
Association="ExampleModel.Store.FK_CustomerOrders">
<End Role="Customers" EntitySet="Customers" />
<End Role="Orders" EntitySet="Orders" />
</AssociationSet>
</EntityContainer>
Siehe auch
Konzepte
Übersicht über das Entity Framework
SSDL-Spezifikation
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools