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.
Una faceta se usa para agregar detalles a una definición de propiedad de tipo primitivo. Una definición de propiedad contiene información sobre el tipo de propiedad, pero a menudo es necesario más detalle. Por ejemplo, un tipo de entidad de un modelo conceptual podría tener una propiedad de tipo String cuyo valor no se puede establecer en NULL. Las facetas permiten especificar este nivel de detalle.
En la tabla siguiente se describen las facetas que se admiten en el EDM.
Nota:
Los valores y comportamientos exactos de las facetas vienen determinados por el entorno en tiempo de ejecución que usa una implementación de EDM.
| Faceta | Descripción | Se aplica a |
|---|---|---|
Collation |
Especifica la secuencia de intercalación (o secuencia de orden) que se va a usar cuando se realicen las operaciones de comparación y ordenación sobre los valores de la propiedad. | String |
ConcurrencyMode |
Indica que el valor de propiedad se debería utilizar para las comprobaciones de la simultaneidad optimista. | Todas las propiedades de tipo primitivo |
Default |
Especifica el valor predeterminado de la propiedad si no se proporciona ningún valor en la instanciación. | Todas las propiedades de tipo primitivo |
FixedLength |
Especifica si la longitud del valor de propiedad puede variar. |
Binary, String |
MaxLength |
Especifica la longitud máxima del valor de propiedad. |
Binary, String |
Nullable |
Especifica si la propiedad puede tener un valor NULL. | Todas las propiedades de tipo primitivo |
Precision |
En el caso de las propiedades de tipo Decimal, especifica el número de dígitos que puede tener un valor de propiedad. En el caso de las propiedades de tipo Time, DateTimey DateTimeOffset, especifica el número de dígitos para la parte fraccionaria de segundos del valor de propiedad. |
DateTime, DateTimeOffset, Decimal, , Time, |
Scale |
Especifica el número de dígitos que puede haber a la derecha del separador decimal para el valor de propiedad. | Decimal |
Unicode |
Indica si el valor de propiedad se almacena como Unicode. | String |
Ejemplo
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 un Book tipo de entidad. Tenga en cuenta que las facetas se implementan como atributos XML. Los valores de faceta indican que no se puede establecer ninguna propiedad en null y que Scale y Precision de la propiedad Revision se establecen en 29.
<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>