PropertyRef (Elemento) (CSDL)

En el lenguaje de definición de esquemas conceptuales (CSDL), el elemento PropertyRef hace referencia a una propiedad de un tipo de entidad para indicar que dicha propiedad realizará uno de los roles siguientes:

  • Parte de la clave de la entidad (una propiedad o un conjunto de propiedades de un tipo de entidad que determinan la identidad).Se pueden usar uno o varios elementos PropertyRef para definir una clave de entidad.Para obtener más información, vea Key (Elemento).

  • El extremo dependiente o principal de una restricción referencial.Para obtener más información, vea ReferentialConstraint (Elemento).

El elemento PropertyRef solo puede tener elementos de anotación (cero o más) como elementos secundarios.

Nota

Los elementos de anotación solo se pueden emplear en modelos conceptuales en aquellas aplicaciones diseñadas para la versión 4 o posterior de .NET Framework.El espacio de nombres XML para dichos modelos es https://schemas.microsoft.com/ado/2008/09/edm.

Atributos aplicables

En la tabla siguiente se describen los atributos que se pueden aplicar al elemento PropertyRef.

Nombre de atributo

Es necesario

Valor

Name

Nombre de la propiedad a la que se hace referencia.

Nota

Se puede aplicar cualquier número de atributos de anotación (atributos XML personalizados) al elemento PropertyRef.Sin embargo, es posible que los atributos personalizados no pertenezcan a ningún espacio de nombres XML reservado para CSDL.Dos atributos personalizados cualesquiera no pueden tener nombres completos idénticos.

Ejemplo

El ejemplo siguiente define un tipo de entidad (Book).La clave de entidad se define haciendo referencia a la propiedad ISBN del tipo de entidad.

<EntityType Name="Book">
  <Key>
    <PropertyRef Name="ISBN" />
  </Key>
  <Property Type="String" Name="ISBN" Nullable="false" />
  <Property Type="String" Name="Title" Nullable="false" />
  <Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
  <NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
                      FromRole="Book" ToRole="Publisher" />
  <NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
                      FromRole="Book" ToRole="Author" />
</EntityType>

En el ejemplo siguiente, se usan dos elementos PropertyRef para indicar que dos propiedades (Id y PublisherId) son los extremos principal y dependiente de una restricción referencial.

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

Vea también

Conceptos

Información general de Entity Framework

Especificación CSDL

Schema (Elemento) (CSDL)

clave de entidad

Otros recursos

Especificaciones CSDL, SSDL y MSL

Herramientas de ADO.NET Entity Data Model