Partager via


Propriété de clé étrangère

Une propriété de clé étrangère dans le modèle de données d’entité (EDM) est une propriété de type primitif (ou un ensemble de propriétés de type primitif) sur un type d’entité qui contient la clé d’entité d’un autre type d’entité.

Une propriété de clé étrangère est analogue à une colonne de clé étrangère dans une base de données relationnelle. De la même façon que les colonnes de clé étrangère sont utilisées dans une base de données relationnelle pour créer des relations entre les lignes des tables, les propriétés de clé étrangère dans un modèle conceptuel sont utilisées pour établir des associations entre les types d’entités. Une contrainte d’intégrité référentielle est utilisée pour définir une association entre deux types d’entités lorsqu’un des types possède une propriété de clé étrangère.

Exemple :

Le diagramme ci-dessous montre un modèle conceptuel avec trois types d’entités : Book, Publisheret Author. Le Book type d’entité a une propriété, PublisherIdqui fait référence à la clé d’entité du Publisher type d’entité lorsque vous définissez une contrainte d’intégrité référentielle sur l’association PublishedBy .

RefConstraintModel

Le ADO.NET Entity Framework utilise un langage spécifique au domaine (DSL) appelé langage de définition de schéma conceptuel (CSDL) pour définir des modèles conceptuels. Le langage CSDL suivant utilise la propriété PublisherId de clé étrangère pour définir une contrainte d’intégrité référentielle sur l’association PublishedBy indiquée dans le modèle conceptuel indiqué ci-dessus.

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

Voir aussi