Einschränkung der referenziellen Integritätreferential integrity constraint

Ein Einschränkung der referenziellen Integrität im Entity Data Model (EDM) ähnelt einer Einschränkung der referenziellen Integrität in einer relationalen Datenbank.A referential integrity constraint in the Entity Data Model (EDM) is similar to a referential integrity constraint in a relational database. Auf die gleiche Weise, dass eine Spalte oder Spalten aus einer Datenbanktabelle auf den Primärschlüssel einer anderen Tabelle verweisen können eine Eigenschaft (oder Eigenschaften) von einer Entitätstyp verweisen können die Entitätsschlüssel eines anderen Entitätstyps.In the same way that a column (or columns) from a database table can reference the primary key of another table, a property (or properties) of an entity type can reference the entity key of another entity type. Wird aufgerufen, der Entitätstyp, auf die verwiesen wird, wird die prinzipalende der Einschränkung.The entity type that is referenced is called the principal end of the constraint. Der Entitätstyp, der auf das prinzipalende verweist heißt die abhängigen Endes der Einschränkung.The entity type that references the principal end is called the dependent end of the constraint.

Eine Einschränkung der referenziellen Integrität wird definiert als Teil einer Zuordnung zwischen zwei Entitätstypen.A referential integrity constraint is defined as part of an association between two entity types. Die Definition für eine Einschränkung der referenziellen Integrität gibt die folgenden Informationen an:The definition for a referential integrity constraint specifies the following information:

  • Das Prinzipalende der Einschränkung.The principal end of the constraint. (Ein Entitätstyp, auf dessen Entitätsschlüssel durch das abhängige Ende verwiesen wird.)(An entity type whose entity key is referenced by the dependent end.)

  • Den Entitätsschlüssel des Prinzipalendes.The entity key of the principal end.

  • Das abhängige Ende der Einschränkung.The dependent end of the constraint. (Ein Entitätstyp, der über eine Eigenschaft oder Eigenschaften verfügt, die auf den Entitätsschlüssel des Prinzipalendes verweisen.)(An entity type that has a property or properties that reference the entity key of the principal end.)

  • Die verweisende Eigenschaft oder Eigenschaften des abhängigen Endes.The referencing property or properties of the dependent end.

Mit Einschränkungen der referenziellen Integrität im EDM soll sichergestellt werden, dass gültige Zuordnungen immer vorhanden sind.The purpose of referential integrity constraints in the EDM is to ensure that valid associations always exist. Weitere Informationen finden Sie unter Fremdschlüsseleigenschaft.For more information, see foreign key property.

BeispielExample

Die unten stehende Abbildung zeigt ein konzeptionelles Modell mit zwei Zuordnungen: WrittenBy und PublishedBy.The diagram below shows a conceptual model with two associations: WrittenBy and PublishedBy. Der Book-Entitätstyp verfügt über die Eigenschaft PublisherId, die auf den Entitätsschlüssel des Publisher-Entitätstyps verweist, wenn Sie eine Einschränkung der referenziellen Integrität für die PublishedBy-Zuordnung definieren.The Book entity type has a property, PublisherId, that references the entity key of the Publisher entity type when you define a referential integrity constraint on the PublishedBy association.

RefConstraintModelRefConstraintModel

Die ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL) Bezeichnung konzeptionelle Schemadefinitionssprache (CSDL), konzeptionelle Modelle zu definieren.The ADO.NET Entity Framework uses a domain-specific language (DSL) called conceptual schema definition language (CSDL) to define conceptual models. Die folgende CSDL definiert eine Einschränkung der referenziellen Integrität für die oben im konzeptionellen Modell gezeigte PublishedBy-Zuordnung.The following CSDL defines a referential integrity constraint on the PublishedBy association shown in the conceptual model above.

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

Siehe auchSee also