Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In Entity Data Model (EDM) l'elemento AssociationSet in SSDL (Store Schema Definition Language) specifica un'associazione nei metadati di archiviazione.
Per il modello a oggetti compilato in base allo schema concettuale è necessario che sia le classi programmabili che le strutture di archiviazione contengano i dati per le applicazioni compilate in base al modello. Un oggetto AssociationSetMapping in MSL (Mapping Specification Language) connette l'oggetto AssociationSet definito in CSDL (Conceptual Schema Definition Language) all'oggetto AssociationSet in SSDL che descrive le strutture di archiviazione.
La sintassi CSDL seguente illustra la dichiarazione di un oggetto AssociationSet denominato FK_Employee_Employee_ManagerID nello schema AdventureWorks.Store. Questo oggetto AssociationSet fa parte dell'oggetto EntityContainer denominato AdventureWorks.Store nei metadati di AdventureWorks. Sebbene questo oggetto EntityContainer sia definito nello schema AdventureWorks.Store, EntityContainer è un elemento indipendente.
L'elemento AssociationSet assegna un oggetto Name e identifica l'oggetto AssociationType utilizzato in questa designazione del set di associazioni.
<EntityContainer Name="Adventureworks.Store">
<AssociationSet Name="FK_Employee_Employee_ManagerID"
Association="Adventureworks.Store.FK_Employee_Employee_ManagerID">
<End Role="Employee" EntitySet="Employee" />
<End Role="Employee1" EntitySet="Employee" />
</AssociationSet>
</EntityContainer>
<Association Name="FK_Employee_Employee_ManagerID">
<End Role="Employee" Type="Adventureworks.Store.Employee" Multiplicity="0..1" />
<End Role="Employee1" Type="Adventureworks.Store.Employee" Multiplicity="*" />
<ReferentialConstraint>
<Principal Role="Employee">
<PropertyRef Name="EmployeeID" />
</Principal>
<Dependent Role="Employee1">
<PropertyRef Name="ManagerID" />
</Dependent>
</ReferentialConstraint>
</Association>
In questo esempio l'elemento ReferentialConstraint indica che le associazioni dipendono dalle strutture di database. ReferentialConstraint specifica Principal Role e Dependent Role e, più importante, PropertyRef per ogni ruolo che corrisponde alla relazione di chiave esterna nel database.
PropertyRef di Principal Role specifica la proprietà assegnata a una colonna di chiave esterna della tabella di database Employee. PropertyRef di Dependent Role specifica la colonna che contiene la chiave esterna. Nell'associazione FK_Employee_Employee_ManagerID, ad esempio, PropertyRef di Dependent Role è la proprietà EmployeeID del manager inclusa nella colonna di chiave esterna ManagerID della tabella Employee. Per un esempio completo di utilizzo di ReferentialConstraint, vedere Implementazione delle associazioni (EDM).
Quando il modello a oggetti di programmazione viene compilato, è possibile creare istanze delle entità del tipo FK_Employee_Employee_ManagerID nel codice dell'applicazione.
Per completezza, la dichiarazione di AssociationType è inclusa nell'esempio dopo le definizioni di EntityContainer e AssociationSet.
Vedere anche
Concetti
Elemento AssociationSet (EntityContainer CSDL)
Elemento EntitySetMapping (MSL)
Set di entità (EDM)
Set di associazioni (EDM)
Modello completo di AdventureWorks (EDM)