vincolo di integrità referenzialereferential integrity constraint

Oggetto vincolo di integrità referenziale in Entity Data Model (EDM) è simile a un vincolo di integrità referenziale in un database relazionale.A referential integrity constraint in the Entity Data Model (EDM) is similar to a referential integrity constraint in a relational database. Nello stesso modo che una colonna (colonne) da una tabella di database può fare riferimento o la chiave primaria di un'altra tabella, una proprietà (o proprietà) di un tipo di entità possono fare riferimento il chiave di entità di un altro tipo di entità.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. Il tipo di entità a cui fa riferimento viene chiamato il finale principale del vincolo.The entity type that is referenced is called the principal end of the constraint. Il tipo di entità che fa riferimento l'entità finale principale viene chiamato il estremità dipendente del vincolo.The entity type that references the principal end is called the dependent end of the constraint.

Un vincolo di integrità referenziale è definito come parte di un associazione tra due tipi di entità.A referential integrity constraint is defined as part of an association between two entity types. La definizione per un vincolo di integrità referenziale specifica le informazioni seguenti:The definition for a referential integrity constraint specifies the following information:

  • Entità finale principale del vincoloThe principal end of the constraint. (un tipo di entità alla cui chiave di entità è fatto riferimento dall'entità finale dipendente).(An entity type whose entity key is referenced by the dependent end.)

  • Chiave di entità dell'entità finale principale.The entity key of the principal end.

  • Entità finale dipendente del vincoloThe dependent end of the constraint. (un tipo di entità che dispone di una o più proprietà che fanno riferimento alla chiave di entità dell'entità finale principale).(An entity type that has a property or properties that reference the entity key of the principal end.)

  • La proprietà o le proprietà di riferimento dell'entità finale dipendente.The referencing property or properties of the dependent end.

Lo scopo dei vincoli di integrità referenziali in EDM è di assicurare che esistano sempre associazioni valide.The purpose of referential integrity constraints in the EDM is to ensure that valid associations always exist. Per ulteriori informazioni, vedere proprietà di chiave esterna.For more information, see foreign key property.

EsempioExample

Nel diagramma seguente viene illustrato un modello concettuale con due associazioni: WrittenBy e PublishedBy.The diagram below shows a conceptual model with two associations: WrittenBy and PublishedBy. Il tipo di entità Book dispone di una proprietà, PublisherId, che fa riferimento alla chiave di entità del tipo di entità Publisher quando si definisce un vincolo di integrità referenziale sull'associazione PublishedBy.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

Il ADO.NET Entity Framework Usa un linguaggio specifico di dominio (DSL), chiamato linguaggio conceptual schema definition language (CSDL) per definire i modelli concettuali.The ADO.NET Entity Framework uses a domain-specific language (DSL) called conceptual schema definition language (CSDL) to define conceptual models. Nel seguente linguaggio CSDL viene definito un vincolo di integrità referenziale sull'associazione PublishedBy illustrata nel modello concettuale precedente.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>

Vedere ancheSee Also

Concetti chiave di Entity Data ModelEntity Data Model Key Concepts
Entity Data ModelEntity Data Model