Share via


facet

Uma faceta é usada para adicionar detalhes a uma definição de propriedade de tipo primitivo. Uma definição de propriedade contém informações sobre o tipo de propriedade, mas muitas vezes são necessários mais detalhes. Por exemplo, um tipo de entidade em um modelo conceitual pode ter uma propriedade de tipo String cujo valor não pode ser definido como nulo. As facetas permitem especificar esse nível de detalhe.

A tabela abaixo descreve as facetas suportadas no EDM.

Nota

Os valores exatos e comportamentos das facetas são determinados pelo ambiente de tempo de execução que usa uma implementação EDM.

Faceta Description Aplica-se a
Collation Especifica a sequência de agrupamento (ou sequência de classificação) a ser usada ao executar operações de comparação e ordenação em valores da propriedade. String
ConcurrencyMode Indica que o valor da propriedade deve ser usado para verificações de simultaneidade otimistas. Todas as propriedades de tipo primitivo
Default Especifica o valor padrão da propriedade se nenhum valor for fornecido durante a instanciação. Todas as propriedades de tipo primitivo
FixedLength Especifica se o comprimento do valor da propriedade pode variar. Binary, String
MaxLength Especifica o comprimento máximo do valor da propriedade. Binary, String
Nullable Especifica se a propriedade pode ter um valor nulo. Todas as propriedades de tipo primitivo
Precision Para propriedades do tipo Decimal, especifica o número de dígitos que um valor de propriedade pode ter. Para propriedades do tipo Time, DateTime, e DateTimeOffset, especifica o número de dígitos para a parte fracionária de segundos do valor da propriedade. DateTime, DateTimeOffset, Decimal, Time,
Scale Especifica o número de dígitos à direita da vírgula decimal para o valor da propriedade. Decimal
Unicode Indica se o valor da propriedade é armazenado como Unicode. String

Exemplo

O ADO.NET Entity Framework usa uma linguagem específica de domínio (DSL) chamada linguagem de definição de esquema conceitual (CSDL) para definir modelos conceituais. A CSDL a seguir define um tipo de Book entidade. Observe que as facetas são implementadas como atributos XML. Os valores de faceta indicam que nenhuma propriedade pode ser definida como null e que o Scale e Precision da Revision propriedade são cada um definido como 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 também