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.
Nota: |
---|
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