Freigeben über


ReferentialConstraint-Element (EntityContainer CSDL)

Im Entitätsdatenmodell (EDM) gibt das ReferentialConstraint-Element in der konzeptionellen Schemadefinitionssprache (CSDL) die Principal Role und die Dependent Role einer Zuordnung an. Referenzielle Einschränkungen beeinflussen das Verhalten von verbundenen Objekten in einem ObjectContext. Weitere Informationen finden Sie unter Referenzielle Einschränkungen (Entity Framework).

In der folgenden Zuordnung ist der VendorAddress-Typ vom Address-Typ abhängig. Ein "Address"-Objekt kann mit mehreren VendorAddress-Objekten verbunden sein, da VendorAddress nur eine Address mit einem Vendor verknüpft. Ein Vendor kann über mehrere Address verfügen.

  <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>

Siehe auch

Konzepte

AssociationSet-Element (EntityContainer CSDL)