facet
Een facet wordt gebruikt om details toe te voegen aan een definitie van een primitieve typeeigenschap. Een eigenschapsdefinitie bevat informatie over het eigenschapstype, maar vaak is er meer details nodig. Een entiteitstype in een conceptueel model kan bijvoorbeeld een eigenschap van het type String
hebben waarvan de waarde niet kan worden ingesteld op null. Met facetten kunt u dit detailniveau opgeven.
In de onderstaande tabel worden de facetten beschreven die worden ondersteund in de EDM.
Notitie
De exacte waarden en het gedrag van facetten worden bepaald door de runtime-omgeving die gebruikmaakt van een EDM-implementatie.
Facet | Beschrijving | Van toepassing op |
---|---|---|
Collation |
Hiermee geeft u de samenvouwvolgorde (of sorteervolgorde) op die moet worden gebruikt bij het uitvoeren van vergelijkings- en volgordebewerkingen op waarden van de eigenschap. | String |
ConcurrencyMode |
Geeft aan dat de waarde van de eigenschap moet worden gebruikt voor optimistische gelijktijdigheidscontroles. | Alle primitieve typeeigenschappen |
Default |
Hiermee geeft u de standaardwaarde van de eigenschap op als er bij instantiëring geen waarde wordt opgegeven. | Alle primitieve typeeigenschappen |
FixedLength |
Hiermee geeft u op of de lengte van de eigenschapswaarde kan variëren. | Binary , String |
MaxLength |
Hiermee geeft u de maximale lengte van de eigenschapswaarde. | Binary , String |
Nullable |
Hiermee geeft u op of de eigenschap een null-waarde kan hebben. | Alle primitieve typeeigenschappen |
Precision |
Voor eigenschappen van het type Decimal geeft u het aantal cijfers op dat een eigenschapswaarde kan hebben. Voor eigenschappen van het type Time , DateTime en DateTimeOffset , geeft u het aantal cijfers op voor het breukgedeelte van seconden van de eigenschapswaarde. |
DateTime Decimal , DateTimeOffset , Time |
Scale |
Hiermee geeft u het aantal cijfers rechts van het decimaalteken voor de eigenschapswaarde op. | Decimal |
Unicode |
Geeft aan of de eigenschapswaarde is opgeslagen als Unicode. | String |
Opmerking
De ADO.NET Entity Framework maakt gebruik van een domeinspecifieke taal (DSL) genaamd conceptuele schemadefinitietaal (CSDL) om conceptuele modellen te definiëren. Met de volgende CSDL wordt een Book
entiteitstype gedefinieerd. Houd er rekening mee dat facetten worden geïmplementeerd als XML-kenmerken. De facetwaarden geven aan dat er geen eigenschap kan worden ingesteld op null en dat de Scale
en Precision
van de Revision
eigenschap elk zijn ingesteld op 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>