Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 , 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 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>