Elemento Principal (SSDL)
L'elemento Principal in SSDL (Store Schema Definition Language) è un elemento figlio dell'elemento ReferentialConstraint che definisce l'entità finale principale di un vincolo di chiave esterna (definito anche vincolo referenziale). L'elemento Principal consente di specificare la colonna (o le colonne) di chiave primaria in una tabella a cui fa riferimento un'altra colonna (o colonne). Gli elementi PropertyRef consentono di specificare a quali colonne viene fatto riferimento. L'elemento Dependent consente di specificare le colonne che fanno riferimento alle colonne di chiave primaria specificate nell'elemento Principal.
L'elemento Principal può includere i seguenti elementi figlio (nell'ordine elencato):
PropertyRef (uno o più elementi)
Elementi Annotation (zero o più elementi)
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Principal.
Nome attributo | È obbligatorio | Valore |
---|---|---|
Role |
Sì |
Stesso valore dell'attributo Role (se utilizzato) dell'elemento End corrispondente; in caso contrario, il nome della tabella che contiene la colonna a cui viene fatto riferimento. |
Nota: |
---|
È possibile applicare un numero qualsiasi di attributi di annotazione (attributi XML personalizzati) all'elemento Principal.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali. |
Esempio
Nell'esempio riportato di seguito viene illustrato un elemento Association in cui viene utilizzato un elemento ReferentialConstraint per specificare le colonne che fanno parte del vincolo di chiave esterna FK_CustomerOrders. L'elemento Principal consente di specificare la colonna CustomerId della tabella Customer come entità finale principale del vincolo.
<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>
Vedere anche
Concetti
Panoramica su Entity Framework
Specifiche SSDL