Share via


Élément Association (SSDL)

Un élément Association en SSDL (Store Schema Definition Language) spécifie des colonnes de table qui participent à une contrainte de clé étrangère dans la base de données sous-jacente.Deux éléments End enfants obligatoires spécifient des tables aux terminaisons de l'association et la multiplicité à chaque terminaison.Un élément ReferentialConstraint facultatif spécifie les terminaisons principales et dépendantes de l'association ainsi que les colonnes participantes.Si aucun élément ReferentialConstraint n'est présent, un élément AssociationSetMapping doit être utilisé pour spécifier les mappages de colonne pour l'association.

L'élément Association peut avoir les éléments enfants suivants (dans l'ordre répertorié) :

Attributs applicables

Le tableau ci-dessous décrit les attributs qui peuvent s'appliquer à l'élément Association.

Nom d'attribut

Requis

Valeur

Name

Oui

Nom de la contrainte de clé étrangère correspondante dans la base de données sous-jacente.

Notes

Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Association.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage SSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques.

Exemple

L'exemple suivant affiche un élément Association qui utilise un élément ReferentialConstraint pour spécifier les colonnes qui participent à la contrainte de clé étrangère FK_CustomerOrders :

<Association Name="FK_CustomerOrders">
  <End Role="Customers" 
       Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" 
       Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>
<Association Name="FK_CustomerOrders">
  <End Role="Customers" Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

<Association Name="FK_CustomerOrders">
  <End Role="Customers" Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

Voir aussi

Concepts

Vue d'ensemble d'Entity Framework

Spécification SSDL

Élément AssociationSet (SSDL)

Autres ressources

Spécifications CSDL, SSDL et MSL

ADO.NET Entity Data Model Tools