Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.
Observação
Os valores exatos e comportamentos das facetas são determinados pelo ambiente de execução que utiliza uma implementação de EDM.
| Faceta | Descrição | 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>