Delen via


beperking referentiële integriteit

Een referentiële integriteitsbeperking in het Entity Data Model (EDM) is vergelijkbaar met een referentiële integriteitsbeperking in een relationele database. Op dezelfde manier dat een kolom (of kolommen) uit een databasetabel kan verwijzen naar de primaire sleutel van een andere tabel, kan een eigenschap (of eigenschappen) van een entiteitstype verwijzen naar de entiteitssleutel van een ander entiteitstype. Het entiteitstype waarnaar wordt verwezen, wordt het principal-einde van de beperking genoemd. Het entiteitstype dat verwijst naar het principal-einde wordt het afhankelijke einde van de beperking genoemd.

Een referentiële integriteitsbeperking wordt gedefinieerd als onderdeel van een koppeling tussen twee entiteitstypen. De definitie voor een referentiële integriteitsbeperking geeft de volgende informatie op:

  • Het hoofdeinde van de beperking. (Een entiteitstype waarvan naar de entiteitssleutel wordt verwezen door het afhankelijke einde.)

  • De entiteitssleutel van het principal-einde.

  • Het afhankelijke einde van de beperking. (Een entiteitstype met een eigenschap of eigenschappen die verwijzen naar de entiteitssleutel van het principal-einde.)

  • De verwijzingseigenschap of eigenschappen van het afhankelijke einde.

Het doel van referentiële integriteitsbeperkingen in de EDM is ervoor te zorgen dat geldige koppelingen altijd bestaan. Zie refererende sleuteleigenschap voor meer informatie.

Opmerking

In het onderstaande diagram ziet u een conceptueel model met twee koppelingen: WrittenBy en PublishedBy. Het Book entiteitstype heeft een eigenschap, PublisherIddie verwijst naar de entiteitssleutel van het Publisher entiteitstype wanneer u een beperking voor referentiële integriteit definieert voor de PublishedBy koppeling.

RefConstraintModel

De ADO.NET Entity Framework maakt gebruik van een domeinspecifieke taal (DSL) genaamd conceptuele schemadefinitietaal (CSDL) om conceptuele modellen te definiëren. Met de volgende CSDL wordt een beperking voor referentiële integriteit gedefinieerd voor de PublishedBy koppeling die wordt weergegeven in het bovenstaande conceptuele model.

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

Zie ook