Condividi tramite


Elemento Association (CSDL)

Un'associazione specifica una relazione logica tra entità in Entity Data Model (EDM). Un'associazione è dichiarata e definita nello schema concettuale utilizzando il linguaggio CSDL (Conceptual Schema Definition Language).

Nella sintassi seguente vengono illustrate la dichiarazione e la definizione di un'associazione tra due entità dello stesso tipo. Entrambe le entità finali dell'associazione sono entità dipendente (Employee). Un dipendente è il manager e l'altro è sottoposto al manager.

La sintassi illustrata include l'elemento Schema con la definizione di Namespace e Alias di Adventure Works Human Resources Model. È inclusa inoltre la dichiarazione dell'entità Employee utilizzata in Association.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRModel"
Alias="Self" xmlns="https://schemas.microsoft.com/ado/2006/04/edm">

  <EntityType Name="Employee">
    <Key>
      <PropertyRef Name="EmployeeID" />
    </Key>
    <Property Name="EmployeeID" Type="Int32" Nullable="false" />
    <Property Name="NationalIDNumber" Type="String" Nullable="false" />
    <Property Name="LoginID" Type="String" Nullable="false" />
    <Property Name="Title" Type="String" Nullable="false" />
    <Property Name="BirthDate" Type="DateTime" Nullable="false" />
    <Property Name="Gender" Type="String" Nullable="false" />
    <Property Name="HireDate" Type="DateTime" Nullable="false" />
    <Property Name="SalariedFlag" Type="Boolean" Nullable="false" />
    <Property Name="ModifiedDate" Type="DateTime" Nullable="false" />
<!- Some employee properties ommitted for brevity -->

    <NavigationProperty Name="Employee1"
        Relationship="Adventureworks.FK_Employee_Employee_ManagerID"
        FromRole="Employee" ToRole="Employee1" />

  </EntityType>

  <Association Name="Employee_Employee_ManagerID">
    <End Role="Employee" Type="Self.Employee" Multiplicity="0..1" />
    <End Role="Employee1" Type="Self.Employee"
                                              Multiplicity="*" />
  </Association>

L'elemento Association specifica una relazione logica tra entità Employee, come indicato dalle assegnazioni di Type delle proprietà degli oggetti End in Association. Entrambe le entità finali dell'associazione sono di tipo Employee. Uno dei dipendenti è designato come Employee1 dall'attributo Role di una proprietà di End in Association. L'attributo Multiplicity degli attributi End in questo esempio indica che un'entità Employee che è un manager può essere responsabile di un numero qualsiasi di istanze di Employee1. L'oggetto NavigationProperty nella definizione di Employee illustra il collegamento tra un dipendente che è un manager e i dipendenti sottoposti a un manager.

Per le assegnazioni del tipo nelle associazioni devono essere utilizzati nomi completi. In questo esempio per l'assegnazione del tipo viene utilizzato l'AliasSelf per lo spazio dei nomi AdventureWorksHRModel.

Vedere anche

Concetti

Elemento AssociationSet (EntityContainer CSDL)
Elemento Association (SSDL)
Elemento AssociationSetMapping (MSL)
Modello completo di AdventureWorks (EDM)

Altre risorse

Specifiche EDM