Einschränkung der referenziellen Integritätreferential integrity constraint

Eine 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 dieselbe Weise, wie eine Spalte (oder Spalten) einer Datenbanktabelle auf den Primärschlüssel einer anderen Tabelle verweisen kann, kann eine Eigenschaft (oder Eigenschaften) eines Entitäts Typs auf den Entitäts Schlüssel eines anderen Entitäts Typs verweisen.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. Der Entitätstyp, auf den verwiesen wird, wird als Prinzipal Ende der Einschränkung bezeichnet.The entity type that is referenced is called the principal end of the constraint. Der Entitätstyp, der auf das Prinzipal Ende verweist, wird als abhängiges Ende der Einschränkung bezeichnet.The entity type that references the principal end is called the dependent end of the constraint.

Eine Einschränkung der referenziellen Integrität wird als Teil einer Zuordnung zwischen zwei Entitäts Typen definiert.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üssel Eigenschaft.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.

Ref-EinschränkungRefConstraintModel

Der ADO.NET-Entity Framework verwendet eine domänenspezifische Sprache (DSL) mit der Bezeichnung konzeptionelle Schema Definitions Sprache (CSDL), um 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