Compartir a través de


Facetas (CSDL)

En el lenguaje de definición de esquemas conceptuales (CSDL), las facetas representan restricciones en las propiedades de tipos de entidad y tipos complejos. Las facetas aparecen como atributos XML en los elementos CSDL siguientes:

Entity Framework usa facetas en CSDL al generar una base de datos a partir de un modelo conceptual. Para obtener más información, vea Generate Database Wizard.

En la tabla siguiente se describen las facetas que se admiten en CSDL. Todas las facetas son opcionales.

Cc716737.note(es-es,VS.100).gifNota:
Para obtener información sobre los tipos de datos de un modelo conceptual, vea Tipos de modelos conceptuales.

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.

Edm.String

ConcurrencyMode

Indica que el valor de propiedad se debería utilizar para las comprobaciones de la simultaneidad optimista.

Todas las propiedades EDMSimpleType

Default

Especifica el valor predeterminado de la propiedad si no se proporciona ningún valor al crear las instancias.

Todas las propiedades EDMSimpleType

FixedLength

Especifica si la longitud del valor de propiedad puede variar.

Edm.Binary, Edm.String

MaxLength

Especifica la longitud máxima del valor de propiedad.

Edm.Binary, Edm.String

Nullable

Especifica si la propiedad puede tener un valor null.

Todas las propiedades EDMSimpleType

Precision

Para las propiedades de tipo Decimal, especifica el número de dígitos que puede tener un valor de propiedad. 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.

Edm.DateTime, Edm.DateTimeOffset, Edm.Decimal y Edm.Time.

Scale

Especifica el número de dígitos que puede haber a la derecha del separador de decimales para el valor de propiedad.

Edm.Decimal

Unicode

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

Edm.String

Nota: al generar una base de datos a partir de un modelo conceptual, el Asistente para generar base de datos reconocerá el valor del atributo StoreGeneratedPattern en un elemento Property si está en el siguiente espacio de nombres: https://schemas.microsoft.com/ado/2009/02/edm/annotation. Los valores admitidos para el atributo son Identity y Computed. El valor Identity generará una columna de base de datos con un valor de identidad que se genera en la base de datos. El valor Computed generará una columna con un valor que se calcula en la base de datos.

Ejemplo

En el ejemplo siguiente se muestran facetas aplicadas a las propiedades de un tipo de entidad:

<EntityType Name="Product">
  <Key>
    <PropertyRef Name="ProductId" />
  </Key>
  <Property Type="Int32" 
            Name="ProductId" Nullable="false" 
            a:StoreGeneratedPattern="Identity" 
   xmlns:a="https://schemas.microsoft.com/ado/2009/02/edm/annotation" />
  <Property Type="String" 
            Name="ProductName" 
            Nullable="false" 
            MaxLength="50" />
  <Property Type="String" 
            Name="Location" 
            Nullable="true" 
            MaxLength="25" />
</EntityType>

Para obtener más información, vea Property (Elemento) (CSDL).

Vea también

Referencia

System.Data.Metadata.Edm.Facet

Conceptos

Especificación CSDL

Otros recursos

facet (Entity Data Model)
Especificaciones CSDL, SSDL y MSL