Condividi tramite


Elemento End (CSDL)

L'elemento End in Conceptual Schema Definition Language (CSDL) può essere un figlio dell'elemento Association o dell'elemento AssociationSet.In ciascun caso il ruolo dell'elemento End e i relativi attributi applicabili sono diversi.

Elemento End come figlio dell'elemento Association

Un elemento End utilizzato come figlio dell'elemento Association identifica il tipo di entità in un'entità finale di un'associazione e il numero di istanze del tipo di entità che può esistere in corrispondenza di quell'entità finale dell'associazione.Le entità finali dell'associazione sono definite come parte di un'associazione; un'associazione deve disporre esattamente di due entità finali.Le istanze del tipo di entità in corrispondenza di un'entità finale di un'associazione sono accessibili attraverso proprietà di navigazione o chiavi esterne se sono esposte in un tipo di entità.Per ulteriori informazioni, vedere Elemento NavigationProperty, Elemento ReferentialConstraint e Definizione e gestione delle relazioni.

Un elemento End può includere i seguenti elementi figlio (nell'ordine elencato):

Attributi applicabili

Nella tabella seguente vengono descritti gli attributi che è possibile applicare all'elemento End quando è il figlio di un elemento Association.

Nome attributo

È obbligatorio

Valore

Type

Nome del tipo di entità in una entità finale dell'associazione.

Role

No

Nome per l'entità finale dell'associazione.Se non è fornito alcun nome, verrà utilizzato il nome del tipo di entità nell'entità finale dell'associazione.

Multiplicity

1, 0..1 o * a seconda del numero di istanze del tipo di entità che può essere utilizzato in corrispondenza dell'entità finale dell'associazione.

  • 1 indica che nell'entità finale dell'associazione è presente esattamente un'istanza del tipo di entità.

  • 0..1 indica che nell'entità finale dell'associazione non sono presenti istanze del tipo di entità oppure ne è presente una.

  • * indica che nell'entità finale dell'associazione sono presenti zero, una o più istanze del tipo di entità.

Nota

È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento End.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.I valori Multiplicity per ciascun elemento End dell'associazione indicano che è possibile associare molti Orders a un Customer, ma solo un Customer può essere associato a un Order.Inoltre, l'elemento OnDelete indica che tutti gli Orders che sono correlati a un particolare Customer e che sono stati caricati in ObjectContext saranno eliminati se 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>

Elemento End come figlio dell'elemento AssociationSet

L'elemento End specifica un'entità finale di un set di associazioni.L'elemento AssociationSet deve contenere due elementi End.Le informazioni contenute in un elemento End vengono utilizzate per il mapping di un set di associazioni a un'origine dati.Per ulteriori informazioni, vedere Elemento AssociationSetMapping (MSL) e Elemento EndProperty (MSL).

Un elemento End può includere i seguenti elementi figlio (nell'ordine elencato):

Nota

Gli elementi Annotation devono apparire dopo tutti gli altri elementi figlio.L'utilizzo di elementi Annotation è consentito solo in modelli concettuali per applicazioni che sono destinate a .NET Framework versione 4 o successive.Lo spazio dei nomi XML per tali modelli è https://schemas.microsoft.com/ado/2008/09/edm.

Attributi applicabili

Nella tabella seguente vengono descritti gli attributi che è possibile applicare all'elemento End quando è il figlio di un elemento AssociationSet.

Nome attributo

È obbligatorio

Valore

EntitySet

Il nome dell'elemento EntitySet che definisce un'entità finale dell'elemento AssociationSet padre.L'elemento EntitySet deve essere definito nello stesso contenitore di entità dell'elemento AssociationSet padre.

Role

No

Nome dell'entità finale del set di associazioni.Se l'attributo Role non viene utilizzato, il nome dell'entità finale del set di associazioni sarà il nome del set di entità.

Nota

È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento End.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 EntityContainer con due elementi AssociationSet, ognuno con due elementi End:

<EntityContainer Name="BooksContainer" >
  <EntitySet Name="Books" EntityType="BooksModel.Book" />
  <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
  <EntitySet Name="Authors" EntityType="BooksModel.Author" />
  <AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Publisher" EntitySet="Publishers" />
  </AssociationSet>
  <AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Author" EntitySet="Authors" />
  </AssociationSet>
</EntityContainer>

Vedere anche

Concetti

Panoramica su Entity Framework

Specifiche CSDL

Elemento Schema (CSDL)

entità finale dell'associazione

set di associazioni

entità finale del set di associazioni

Elemento EntityContainer (CSDL)

Altre risorse

Specifiche CSDL, SSDL e MSL

Strumenti di ADO.NET Entity Data Model