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 (Entity Framework).
Un elemento End può includere i seguenti elementi figlio (nell'ordine elencato):
Documentation (zero o un elemento)
OnDelete (zero o un elemento)
Elementi Annotation (zero o più elementi)
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 |
Sì |
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 |
Sì |
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.
|
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):
Documentation (zero o un elemento)
Elementi Annotation (zero o più elementi)
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 |
Sì |
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)
Elemento EntityContainer (CSDL)
Altre risorse
Specifiche CSDL, SSDL e MSL
ADO.NET Entity Data Model Tools
association end (Entity Data Model)
association set (Entity Data Model)
association set end (Entity Data Model)