Partager via


Élément Association (CSDL)

Une association spécifie une relation logique entre des entités dans le modèle EDM (Modèle de données d'entité). Une association est déclarée et définie dans le schéma conceptuel à l'aide du langage CSDL (Conceptual Schema Definition Language).

La syntaxe suivante montre la déclaration et la définition d'une association entre deux entités du même type. Les deux terminaisons de l'association sont des entités employé. Un des employés est le responsable et l'autre lui adresse des rapports.

La syntaxe illustrée ici inclut l'élément Schema avec le Namespace et l'Alias du Adventure Works Human Resources Model qui est défini. La déclaration de l'entité Employee qui est utilisée dans l'Association est également incluse.

<?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'élément Association spécifie une relation logique entre des entités Employee, comme l'indiquent les affectations Type des propriétés End dans le Association. Les deux terminaisons de l'association sont du type Employee. L'un des employés est désigné en tant que Employee1 par l'attribut Role d'une propriété End dans le Association. L'attribut Multiplicity des attributs End dans cet exemple indique qu'un Employee responsable peut gérer un nombre quelconque d'instances Employee1. Le NavigationProperty dans la définition Employee montre le chaînage entre un employé responsable et les employés gérés.

Les affectations de type dans les associations doivent utiliser des noms complets. Dans cet exemple, l'affectation de type utilise le SelfAlias pour l'espace de noms AdventureWorksHRModel.

Voir aussi

Concepts

Élément AssociationSet (EntityContainer CSDL)
Élément Association (SSDL)
Élément AssociationSetMapping (MSL)
Modèle complet AdventureWorks (EDM)

Autres ressources

Spécifications EDM