Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las propiedades son los bloques de creación fundamentales de tipos de entidad y tipos complejos. Las propiedades definen la forma y las características de los datos que contendrá una instancia de tipo de entidad o una instancia de tipo complejo. Las propiedades de un modelo conceptual son análogas a las propiedades definidas en una clase. De la misma manera que las propiedades de una clase definen la forma de la clase y llevan información sobre objetos, las propiedades de un modelo conceptual definen la forma de un tipo de entidad y llevan información sobre las instancias de tipo de entidad.
Nota:
Las propiedades, como se describe en este tema, son diferentes de las propiedades de navegación. Para obtener más información, consulte propiedades de navegación.
Una definición de propiedad contiene la siguiente información:
Nombre de propiedad. (Requerido)
Tipo de propiedad. (Requerido)
Un conjunto de facetas. (Opcional)
Una propiedad puede contener datos primitivos (como una cadena, un entero o un valor booleano) o datos estructurados (como un tipo complejo). Las propiedades que son de tipo primitivo también se denominan propiedades escalares. Para obtener más información, consulte Entity Data Model: Primitive Data Types.
Nota:
Un tipo complejo puede, por sí mismo, tener propiedades complejas.
Ejemplo
En el diagrama siguiente se muestra un modelo conceptual con tres tipos de entidad: Book, Publishery Author. Cada tipo de entidad tiene varias propiedades, aunque la información de tipo de cada propiedad no se transmite en el diagrama. Las propiedades que son claves de entidad se indican con (Clave).
El ADO.NET Entity Framework usa un lenguaje específico del dominio (DSL) denominado lenguaje de definición de esquema conceptual (CSDL) para definir modelos conceptuales. El siguiente CSDL define el Book tipo de entidad (como se muestra en el diagrama anterior) e indica el tipo y el nombre de cada propiedad mediante atributos XML. Una faceta opcional, Nullable, también se define mediante un atributo XML.
<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>
Es posible que una de las propiedades que se muestran en el diagrama sea una propiedad de tipo complejo. Por ejemplo, la Address propiedad del Publisher tipo de entidad podría ser una propiedad de tipo complejo compuesta por varias propiedades escalares, como StreetAddress, City, StateOrProvince, Countryy PostalCode. La representación CSDL de este tipo complejo sería la siguiente:
<ComplexType Name="Address" >
<Property Type="String" Name="StreetAddress" Nullable="false" />
<Property Type="String" Name="City" Nullable="false" />
<Property Type="String" Name="StateOrProvince" Nullable="false" />
<Property Type="String" Name="Country" Nullable="false" />
<Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>