Share via


faceta (Entity Data Model)

Una faceta se utiliza para agregar detalle a una definición de propiedad del tipo primitivo. Una definición de propiedad contiene información sobre el tipo de propiedad, pero a menudo es necesario especificar más detalles. Por ejemplo, un tipo de entidad en 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 siguiente tabla se describen las facetas que se admiten en EDM.

Ee382834.note(es-es,VS.100).gifNota:
El entorno de tiempo de ejecución que utiliza una implementación de EDM determina los valores exactos y los comportamientos de las facetas.

Faceta Descripción Se aplica a

Collation

Especifica la secuencia de intercalación (o secuencia de orden) que se va a utilizar cuando se realicen las operaciones de comparación y ordenado en 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 al crear las instancias.

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

Para las propiedades de tipo Decimal, especifica el número de dígitos que un valor de propiedad puede tener. Para las propiedades de tipo Time, DateTime y DateTimeOffset, especifica el número de dígitos para la parte fraccionaria de los 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 de decimales para el valor de propiedad.

Decimal

Unicode

Indica si el valor de propiedad está almacenado como Unicode.

String

Ejemplo

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. En el ejemplo siguiente CSDL, se define un tipo de entidad Book. Observe que las facetas se implementan como atributos XML. Los valores de faceta indican que ninguna propiedad puede estar establecida en NULL, y que los valores Scale y Precision de la propiedad Revision están establecidos ambos 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>

Vea también

Conceptos

Conceptos clave de Entity Data Model
Entity Data Model