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 |
Sí |
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)
Otros recursos
Especificaciones CSDL, SSDL y MSL
ADO.NET Entity Data Model Tools
entity key (Entity Data Model)