Partager via


Élément PropertyRef (CSDL)

L'élément PropertyRef dans le langage CSDL (Conceptual Schema Definition Language) référence une propriété d'un type d'entité pour indiquer que la propriété effectuera l'un des rôles suivants :

  • Partie de la clé de l'entité (une propriété ou un jeu de propriétés d'un type d'entité qui détermine l'identité).Un ou plusieurs éléments PropertyRef peuvent être utilisés pour définir une clé d'entité.Pour plus d'informations, consultez Élément Key.

  • Terminaison dépendante ou principale d'une contrainte référentielle.Pour plus d'informations, consultez Élément ReferentialConstraint.

L'élément PropertyRef peut avoir uniquement des éléments d'annotation (zéro ou plus) comme éléments enfants.

Notes

Les éléments d'annotation sont autorisés uniquement dans les modèles conceptuels pour les applications qui ciblent le .NET Framework version 4 ou ultérieure.L'espace de noms XML de tels modèles est https://schemas.microsoft.com/ado/2008/09/edm.

Attributs applicables

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

Nom d'attribut

Requis

Valeur

Name

Oui

Nom de la propriété référencée.

Notes

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

Exemple

L'exemple ci-dessous définit un type d'entité (Book).La clé d'entité est définie en référençant la propriété ISBN du type d'entité.

<EntityType Name="Book">
  <Key>
    <PropertyRef Name="ISBN" />
  </Key>
  <Property Type="String" Name="ISBN" Nullable="false" />
  <Property Type="String" Name="Title" Nullable="false" />
  <Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
  <NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
                      FromRole="Book" ToRole="Publisher" />
  <NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
                      FromRole="Book" ToRole="Author" />
</EntityType>

Dans l'exemple suivant, deux éléments PropertyRef sont utilisés pour indiquer que deux propriétés (Id et PublisherId) sont les terminaisons principale et dépendante d'une contrainte référentielle.

<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

Concepts

Vue d'ensemble d'Entity Framework

Spécification CSDL

Élément Schema (CSDL)

clé d'entité

Autres ressources

Spécifications CSDL, SSDL et MSL

ADO.NET Entity Data Model Tools