Dela via


fasett

En aspekt används för att lägga till detaljer i en egenskapsdefinition av primitiv typ. En egenskapsdefinition innehåller information om egenskapstypen, men ofta krävs mer information. En entitetstyp i en konceptmodell kan till exempel ha en egenskap av typen String vars värde inte kan anges till null. Med fasetter kan du ange den här detaljnivån.

I tabellen nedan beskrivs de fasetter som stöds i EDM.

Kommentar

De exakta värdena och beteendena för fasetter bestäms av körningsmiljön som använder en EDM-implementering.

Aspekt beskrivning Gäller för
Collation Anger den sorteringssekvens (eller sorteringssekvens) som ska användas när du utför jämförelse- och sorteringsåtgärder på värden för egenskapen. String
ConcurrencyMode Anger att värdet för egenskapen ska användas för optimistiska samtidighetskontroller. Alla primitiva typegenskaper
Default Anger standardvärdet för egenskapen om inget värde anges vid instansiering. Alla primitiva typegenskaper
FixedLength Anger om längden på egenskapsvärdet kan variera. Binary, String
MaxLength Anger den maximala längden på egenskapsvärdet. Binary, String
Nullable Anger om egenskapen kan ha ett null-värde. Alla primitiva typegenskaper
Precision För egenskaper av typen Decimalanger du antalet siffror som ett egenskapsvärde kan ha. För egenskaper av typen Time, DateTimeoch DateTimeOffset, anger antalet siffror för den del av sekunderna av egenskapsvärdet. DateTime, DateTimeOffset, Decimal, , , Time
Scale Anger antalet siffror till höger om decimaltecknet för egenskapsvärdet. Decimal
Unicode Anger om egenskapsvärdet lagras som Unicode. String

Exempel

ADO.NET Entity Framework använder ett domänspecifikt språk (DSL) som kallas CSDL (Conceptual Schema Definition Language) för att definiera konceptuella modeller. Följande CSDL definierar en entitetstyp Book . Observera att fasetter implementeras som XML-attribut. Fasetteringsvärdena anger att ingen egenskap kan anges till null och att Scale egenskapen och PrecisionRevision är inställda på 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>

Se även