Elemento OnDelete (CSDL)
L'elemento OnDelete in Conceptual Schema Definition Language (CSDL) definisce il comportamento che connesso a un'associazione. Se l'attributo Action viene impostato su Cascade in un'entità finale di un'associazione, i tipi di entità correlati nell'altra entità finale dell'associazione vengono eliminati quando viene eliminato il tipo di entità nella prima entità finale. Se l'associazione tra due tipi di entità è una relazione chiave primaria-a-chiave primaria, un oggetto dipendente caricato viene eliminato quando l'oggetto principale nell'altra entità finale dell'associazione viene eliminato indipendentemente dalla specifica di OnDelete. Per ulteriori informazioni, vedere Definizione e gestione delle relazioni (Entity Framework). Solo i tipi di entità correlati che sono stati caricati in ObjectContext vengono eliminati.
Nota: |
---|
L'elemento OnDelete influisce solo sul comportamento di un'applicazione in fase di runtime; non influisce sul comportamento nell'origine dati.Il comportamento definito nell'origine dati deve essere uguale al comportamento definito nell'applicazione. |
Un elemento OnDelete può includere i seguenti elementi figlio (nell'ordine elencato):
Documentation (zero o un elemento)
Elementi Annotation (zero o più elementi)
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento OnDelete.
Nome attributo | È obbligatorio | Valore |
---|---|---|
Action |
Sì |
Cascade o None. Se Cascade, i tipi di entità dipendenti saranno eliminati quando il tipo di entità principale verrà eliminato. Se None, i tipi di entità dipendenti non saranno eliminati quando il tipo di entità principale verrà eliminato. |
Nota: |
---|
È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento Association.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 mostrato un elemento Association che definisce l'associazione CustomerOrders. L'elemento OnDelete indica che tutti gli Orders che sono correlati a un particolare Customer e che sono stati caricati in ObjectContext saranno eliminati quando verrà eliminato Customer.
<Association Name="CustomerOrders">
<End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
<End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
<OnDelete Action="Cascade" />
</End>
</Association>
Vedere anche
Concetti
Panoramica su Entity Framework
Specifiche CSDL
Elemento Schema (CSDL)