facet (Entity Data Model)

Un facet viene utilizzato per aggiungere dettagli a una definizione di proprietà di tipo primitivo. Una definizione di proprietà contiene informazioni sul tipo di proprietà, ma sono necessari ulteriori dettagli. Un tipo di entità in un modello concettuale, ad esempio, potrebbe disporre di una proprietà di tipo String il cui valore non può essere impostato su null. I facet consentono di specificare questo livello di dettaglio.

Nella tabella seguente vengono descritti i facet supportati in EDM.

Ee382834.note(it-it,VS.100).gifNota:
I valori e i comportamenti esatti dei facet sono determinati dall'ambiente di runtime che utilizza un'implementazione EDM.

Facet Descrizione Si applica a

Collation

Specifica la sequenza di ordinamento da utilizzare quando si eseguono operazioni di confronto e di ordinamento su valori della proprietà.

String

ConcurrencyMode

Indica che il valore della proprietà deve essere utilizzato per le verifiche della concorrenza ottimistica.

Tutte le proprietà di tipo primitivo

Default

Specifica il valore predefinito della proprietà se durante la creazione di istanze non viene fornito alcun valore.

Tutte le proprietà di 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à di 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, DateTime e DateTimeOffset, specifica il numero di cifre per la parte frazionaria di secondi del valore della proprietà.

DateTime, DateTimeOffset, Decimal, Time,

Scale

Specifica il numero di cifre a destra del separatore decimale per il valore della proprietà.

Decimal

Unicode

Indica se il valore della proprietà viene archiviato come Unicode.

String

Esempio

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

Concetti

Concetti chiave di Entity Data Model
Entity Data Model