Compartilhar via


faceta

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 geralmente mais detalhes são necessários. Por exemplo, um tipo de entidade em um modelo conceitual pode ter uma propriedade do tipo String cujo valor não pode ser definido como nulo. As facetas permitem especificar esse nível de detalhes.

A tabela a seguir descreve as facetas com suporte no EDM.

Observação

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

Faceta Descrição Aplica-se a
Collation Especifica a sequência de ordenação (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ção de simultaneidade otimista. Todas as propriedades de tipo primitivo
Default Especifica o valor padrão da propriedade se nenhum valor for fornecido após 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 de valor de 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, DateTimee 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 do ponto 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 DSL (linguagem específica do domínio) chamada CSDL (linguagem de definição de esquema conceitual) para definir modelos conceituais. O CSDL a seguir define um Book tipo de entidade. Observe que as facetas são implementadas como atributos XML. Os valores de faceta indicam que nenhuma propriedade pode ser definida como nula e que o Scale e Precision da Revision propriedade são definidos como 29 cada um.

<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