Partager via


Élément ReferentialConstraint (EntityContainer CSDL)

Dans le modèle EDM (Modèle de données d'entité), l'élément ReferentialConstraint en langage CSDL (Conceptual Schema Definition Language) spécifie le Principal Role et le Dependent Role d'une association. Les contraintes référentielles affectent le comportement d'objets connexes dans un ObjectContext. Pour plus d'informations, voir Contraintes référentielles (Entity Framework).

Dans l'association suivante, le type VendorAddress est dépendant du type Address. Un objet Address peut être lié à plusieurs objets VendorAddress dans la mesure où VendorAddress ne fait que lier un Address à un Vendor. Un Vendor peut avoir plus d'un Address.

  <Association Name="FK_VendorAddress_Address_AddressID">
    <End Role="Address" Type="Adventureworks.Address" Multiplicity="1" />
    <End Role="VendorAddress" Type="Adventureworks.VendorAddress" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Address">
        <PropertyRef Name="AddressID" />
      </Principal>
      <Dependent Role="VendorAddress">
        <PropertyRef Name="AddressID" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

<EntityType Name="VendorAddress">
    <Key>
      <PropertyRef Name="VendorID" />
      <PropertyRef Name="AddressID" />
    </Key>
    <Property Name="VendorID" Type="Int32" Nullable="false" />
    <Property Name="AddressID" Type="Int32" Nullable="false" />
    <Property Name="ModifiedDate" Type="DateTime" Nullable="false" />
    <NavigationProperty Name="Address"
     Relationship="Adventureworks.FK_VendorAddress_Address_AddressID"
       FromRole="VendorAddress" ToRole="Address" />
    <NavigationProperty Name="AddressType"
Relationship="Adventureworks.FK_VendorAddress_AddressType_AddressTypeID
   " FromRole="VendorAddress" ToRole="AddressType" />
    <NavigationProperty Name="Vendor"
     Relationship="Adventureworks.FK_VendorAddress_Vendor_VendorID"
     FromRole="VendorAddress" ToRole="Vendor" />
  </EntityType>

<EntityContainer Name="AdventureworksContext">

   <EntitySet Name="VendorAddress" 
          EntityType="Adventureworks.VendorAddress" />

  <AssociationSet Name="FK_VendorAddress_Address_AddressID"
     Association="Adventureworks.FK_VendorAddress_Address_AddressID">
      <End Role="Address" EntitySet="Address" />
      <End Role="VendorAddress" EntitySet="VendorAddress" />
  </AssociationSet>

</EntityContainer>

Voir aussi

Concepts

Élément AssociationSet (EntityContainer CSDL)