Prinzipalelement (SSDL)
Das Principal-Element der Datenspeicherschema-Definitionssprache (Store Schema Definition Language, SSDL) ist ein dem ReferentialConstraint-Element untergeordnetes Element und definiert das Prinzipalende einer Fremdschlüsseleinschränkung (auch referenzielle Einschränkung genannt). Das Principal-Element gibt eine oder mehrere Primärschlüsselspalten in einer Tabelle an, auf die durch eine andere Spalte oder andere Spalten verwiesen wird. PropertyRef-Elemente geben an, auf welche Spalten verwiesen wird. Das Dependent-Element gibt die Spalten an, die auf die Primärschlüsselspalten verweisen, die im Principal-Element angegeben werden.
Das Principal-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
PropertyRef (ein oder mehrere Elemente)
Anmerkungselemente (kein (null) oder mehrere Elemente)
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das Principal-Element übernommen werden können.
Attributname | Ist erforderlich | Wert |
---|---|---|
Role |
Ja |
Der gleiche Wert wie der des Role-Attributs (wenn verwendet) des entsprechenden End-Elements; andernfalls der Name der Tabelle, die die Spalte enthält, auf die verwiesen wird. |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Principal-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
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. Das Principal-Element gibt die CustomerId-Spalte der Tabelle Customer als Prinzipalende der Einschränkung an.
<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
SSDL-Spezifikation
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools