szempont
A rendszer egy részletet ad hozzá egy primitív típusú tulajdonságdefinícióhoz. A tulajdonságdefiníció információkat tartalmaz a tulajdonságtípusról, de gyakran további részletekre van szükség. Egy fogalmi modell entitástípusának például olyan típusú String
tulajdonsága lehet, amelynek értéke nem állítható null értékre. Az aspektusok lehetővé teszik ennek a részletességi szintnek a megadását.
Az alábbi táblázat az EDM-ben támogatott aspektusokat ismerteti.
Feljegyzés
Az aspektusok pontos értékeit és viselkedését az EDM-implementációt használó futásidejű környezet határozza meg.
Tényezője | Leírás | A következőre érvényes: |
---|---|---|
Collation |
A tulajdonság értékein végzett összehasonlítási és rendezési műveletek végrehajtásához használandó rendezési sorrendet (vagy rendezési sorrendet) adja meg. | String |
ConcurrencyMode |
Azt jelzi, hogy a tulajdonság értékét optimista egyidejűségi ellenőrzésekhez kell használni. | Minden primitív típustulajdonság |
Default |
A tulajdonság alapértelmezett értékét adja meg, ha a példányosításkor nem ad meg értéket. | Minden primitív típustulajdonság |
FixedLength |
Meghatározza, hogy a tulajdonságérték hossza változhat-e. | Binary , String |
MaxLength |
A tulajdonság értékének maximális hosszát adja meg. | Binary , String |
Nullable |
Megadja, hogy a tulajdonság null értékű lehet-e. | Minden primitív típustulajdonság |
Precision |
A típustulajdonságok Decimal esetében a tulajdonságértékek számjegyeinek számát adja meg. A típustulajdonságok Time DateTime DateTimeOffset esetében a tulajdonságérték másodperc törtrészéhez tartozó számjegyek számát adja meg. |
DateTime , DateTimeOffset , Decimal , Time |
Scale |
A tulajdonságérték tizedesvesszőjétől jobbra lévő számjegyek számát adja meg. | Decimális |
Unicode |
Azt jelzi, hogy a tulajdonság értéke Unicode-ként van-e tárolva. | String |
Példa
A ADO.NET Entity Framework egy tartományspecifikus nyelvet (DSL) használ, amelyet fogalmi sémadefiníciós nyelvnek (CSDL) hívunk a fogalmi modellek meghatározásához. Az alábbi CSDL egy entitástípust Book
határoz meg. Vegye figyelembe, hogy az aspektusok XML-attribútumokként vannak implementálva. A aspektusértékek azt jelzik, hogy egyetlen tulajdonság sem állítható null értékre, és hogy a Scale
tulajdonság és Precision
a Revision
tulajdonság értéke 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>