propiedad de clave externa

Una propiedad de clave externa en Entity Data Model (EDM) es una propiedad de tipo primitivo (o un conjunto de propiedades de tipo primitivo) en un tipo de entidad que contiene la clave de entidad de otro tipo de entidad.

Una propiedad de clave externa es análoga a una columna de clave externa de una base de datos relacional. Del mismo modo que en una base de datos relacional se usan las columnas de clave externa para crear relaciones entre las filas de las tablas, en un modelo conceptual se usan las propiedades de clave externa para establecer asociaciones entre tipos de entidad. Para definir una asociación entre dos tipos de entidad cuando uno de ellos tiene una propiedad de clave externa, se emplea una restricción de integridad referencial.

Ejemplo

El diagrama siguiente muestra un modelo conceptual con tres tipos de entidades: Book, Publisher y Author. El tipo de entidad Book tiene una propiedad, PublisherId, que hace referencia a la clave de entidad del tipo de entidad Publisher cuando se define una restricción de integridad referencial en la asociación PublishedBy.

RefConstraintModel

ADO.NET Entity Framework usa un lenguaje específico de dominio (DSL) denominado lenguaje de definición de esquemas conceptuales (CSDL) para definir los modelos conceptuales. El código CSDL siguiente usa la propiedad de clave externa PublisherId para definir una restricción de integridad referencial en la asociación PublishedBy incluida en el modelo conceptual mostrado anteriormente.

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

Consulte también