Udostępnij za pośrednictwem


facet

Aspekt służy do dodawania szczegółów do definicji właściwości typu pierwotnego. Definicja właściwości zawiera informacje o typie właściwości, ale często jest to konieczne. Na przykład typ jednostki w modelu koncepcyjnym może mieć właściwość typu String , którego wartość nie może być ustawiona na wartość null. Aspekty umożliwiają określenie tego poziomu szczegółowości.

W poniższej tabeli opisano aspekty obsługiwane w programie EDM.

Uwaga

Dokładne wartości i zachowania aspektów są określane przez środowisko uruchomieniowe korzystające z implementacji EDM.

Aspekt opis Dotyczy
Collation Określa sekwencję sortowania (lub sekwencję sortowania), która ma być używana podczas wykonywania operacji porównywania i porządkowania wartości właściwości. String
ConcurrencyMode Wskazuje, że wartość właściwości powinna być używana na potrzeby optymistycznych testów współbieżności. Wszystkie właściwości typu pierwotnego
Default Określa wartość domyślną właściwości, jeśli nie podano żadnej wartości podczas tworzenia wystąpienia. Wszystkie właściwości typu pierwotnego
FixedLength Określa, czy długość wartości właściwości może się różnić. Binary, String
MaxLength Określa maksymalną długość wartości właściwości. Binary, String
Nullable Określa, czy właściwość może mieć wartość null. Wszystkie właściwości typu pierwotnego
Precision W przypadku właściwości typu Decimalokreśla liczbę cyfr, które może mieć wartość właściwości. W przypadku właściwości typu Time, DateTimei DateTimeOffsetokreśla liczbę cyfr dla części ułamkowej sekund wartości właściwości. DateTime, , DateTimeOffset, Decimal, , Time
Scale Określa liczbę cyfr po prawej stronie punktu dziesiętnego dla wartości właściwości. Dziesiętne
Unicode Wskazuje, czy wartość właściwości jest przechowywana jako Unicode. String

Przykład

ADO.NET Entity Framework używa języka specyficznego dla domeny (DSL) nazywanego koncepcyjnym językiem definicji schematu (CSDL) do definiowania modeli koncepcyjnych. Poniższy plik CSDL definiuje Book typ jednostki. Należy pamiętać, że aspekty są implementowane jako atrybuty XML. Wartości aspektów wskazują, że żadna właściwość nie może być ustawiona na wartość null, a Scale właściwość i Precision Revision jest ustawiona na 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>

Zobacz też