Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Аспект используется для добавления сведений в определение свойства примитивного типа. Определение свойства содержит сведения о типе свойства, но часто требуется более подробная информация. Например, тип сущности в концептуальной модели может иметь свойство типа String , значение которого не может иметь значение NULL. Аспекты позволяют указать этот уровень детализации.
В таблице ниже описаны аспекты, поддерживаемые в EDM.
Замечание
Точные значения и поведение аспектов определяются средой выполнения, используюющей реализацию EDM.
| Грань | Описание | Применимо к |
|---|---|---|
Collation |
Указывает последовательность сортировки, которую используют при сравнении и упорядочивании значений свойства. | String |
ConcurrencyMode |
Указывает, что значение свойства должно использоваться для проверки оптимистического параллелизма. | Все свойства примитивного типа |
Default |
Указывает значение свойства по умолчанию в случае, если при создании экземпляра значение не задано. | Все свойства примитивного типа |
FixedLength |
Указывает, может ли длина значения свойства отличаться. |
Binary, String |
MaxLength |
Указывает максимальную длину значения свойства. |
Binary, String |
Nullable |
Указывает, может ли свойство иметь значение NULL. | Все свойства примитивного типа |
Precision |
Для свойств типа Decimalуказывает число цифр, которые могут иметь значение свойства. Для свойств типа Time, DateTimeа также DateTimeOffsetуказывает количество цифр для дробной части секунд значения свойства. |
DateTime, DateTimeOffset, Decimal, Time |
Scale |
Указывает число цифр справа от десятичной запятой для значения свойства. | Десятичное число |
Unicode |
Указывает, хранится ли значение свойства в юникоде. | String |
Пример
В ADO.NET Entity Framework используется язык, зависящий от домена (DSL), называемый языком определения концептуальной схемы (CSDL) для определения концептуальных моделей. Следующий CSDL определяет Book тип сущности. Обратите внимание, что аспекты реализуются в виде XML-атрибутов. Значения аспектов указывают на то, что ни одно свойство не может быть установлено как нулевое значение, а Scale и Precision свойства Revision установлены на 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>