Compartir vía


faceta

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>

Consulte también