Condividi tramite


Elemento Dependent (SSDL)

L'elemento Dependent in SSDL (Store Schema Definition Language) è un elemento figlio dell'elemento ReferentialConstraint che definisce l'estremità dipendente di un vincolo della chiave esterna (chiamato anche vincolo referenziale).L'elemento Dependent consente di specificare la colonna (o colonne) in una tabella che fa riferimento a una colonna (o colonne) di chiave primaria.Gli elementi PropertyRef consentono di specificare a quali colonne viene fatto riferimento.L'elemento Principal consente di specificare le colonne di chiave primaria a cui fanno riferimento le colonne specificate nell'elemento Dependent.

L'elemento Dependent può includere i seguenti elementi figlio (nell'ordine elencato):

Attributi applicabili

Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Dependent.

Nome attributo

È obbligatorio

Valore

Role

Stesso valore dell'attributo Role (se utilizzato) dell'elemento End corrispondente; in caso contrario, il nome della tabella che contiene la colonna di riferimento.

Nota

È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento Dependent.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 Dependent consente di specificare la colonna CustomerId della tabella Order come estremità dipendente 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>
<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>

Vedere anche

Concetti

Panoramica su Entity Framework

Specifiche SSDL

Altre risorse

Specifiche CSDL, SSDL e MSL

Strumenti di ADO.NET Entity Data Model