Condividi tramite


sfaccettatura

Un facet viene usato per aggiungere dettagli a una definizione di proprietà del tipo primitivo. Una definizione di proprietà contiene informazioni sul tipo di proprietà, ma spesso sono necessari altri dettagli. Ad esempio, un tipo di entità in un modello concettuale potrebbe avere una proprietà di tipo String il cui valore non può essere impostato su Null. I facet consentono di specificare questo livello di dettaglio.

La tabella seguente descrive i facet supportati in EDM.

Annotazioni

I valori e i comportamenti esatti dei facet sono determinati dall'ambiente di runtime che usa un'implementazione EDM.

Sfaccettatura Descrizione Si applica a:
Collation Specifica la sequenza di confronto (o sequenza di ordinamento) da utilizzare durante l'esecuzione di operazioni di confronto e ordinamento sui valori della proprietà. String
ConcurrencyMode Indica che il valore della proprietà va utilizzato per le verifiche di concorrenza ottimistica. Tutte le proprietà del tipo primitivo
Default Specifica il valore predefinito della proprietà se non viene fornito alcun valore al momento dell'istanza. Tutte le proprietà del tipo primitivo
FixedLength Specifica se la lunghezza del valore della proprietà può variare. Binary, String
MaxLength Specifica la lunghezza massima del valore della proprietà. Binary, String
Nullable Specifica se la proprietà può avere un valore Null. Tutte le proprietà del tipo primitivo
Precision Per le proprietà di tipo Decimal, specifica il numero di cifre che un valore della proprietà può avere. Per le proprietà di tipo Time, DateTimee DateTimeOffset, specifica il numero di cifre per la parte frazionaria dei secondi del valore della proprietà. DateTime, DateTimeOffset, Decimal, Time
Scale Specifica il numero di cifre a destra del punto decimale per il valore della proprietà. Decimale
Unicode Indica se il valore della proprietà viene archiviato come Unicode. String

Esempio

Il ADO.NET Entity Framework usa un linguaggio specifico del dominio (DSL) denominato linguaggio CSDL (Conceptual Schema Definition Language) per definire modelli concettuali. Il file CSDL seguente definisce un Book tipo di entità. Si noti che i facet vengono implementati come attributi XML. I valori del facet indicano che nessuna proprietà può essere impostata su null e che Scale e Precision della proprietà Revision sono impostati su 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>

Vedere anche