Поделиться через


аспект (модель EDM)

Аспект используется для добавления сведений в определение свойств примитивного типа. Определение свойства содержит информацию о типе свойства, однако зачастую требуется больше сведений. Например, тип сущности в концептуальной модели может иметь свойство типа String, значение которого не может быть равно NULL. Аспекты позволяют задавать такой уровень сведений.

В следующей таблице описываются аспекты, поддерживаемые в модели EDM.

Ee382834.note(ru-ru,VS.100).gifПримечание
Точные значения и поведения аспектов определяются средой выполнения, использующей реализацию модели EDM.

Аспект Описание Применимость

Collation

Задает последовательность сортировки, которая будет использоваться при выполнении операций сравнения и упорядочивания для значений свойств.

String

ConcurrencyMode

Указывает, что значение свойства должно использоваться в проверках оптимистического управления параллелизмом.

Все свойства примитивного типа

Default

Задает значение по умолчанию для свойства в случае, если при создании экземпляра не было задано значение.

Все свойства примитивного типа

FixedLength

Указывает, может ли изменяться длина значения свойства.

Binary, String

MaxLength

Указывает максимальную длину значения свойства.

Binary, String

Nullable

Задает, может ли свойство принимать значение NULL.

Все свойства примитивного типа

Precision

Для свойств типа Decimal задается число цифр, которое может иметь значение свойства. Для свойств типа Time, DateTime и DateTimeOffset задается число цифр для части долей секунды значения свойства.

DateTime, DateTimeOffset, Decimal, Time,

Scale

Задает число цифр справа от десятичной запятой в значении свойства.

Decimal

Unicode

Указывает будет ли значение свойства храниться в Юникоде.

String

Пример

Платформа ADO.NET Entity Framework использует доменный язык DSL, называемый языком CSDL (CSDL), для определения концептуальных моделей. Далее на языке CSDL определяется тип сущности Book. Обратите внимание, что аспекты реализуются как атрибуты XML. Значения аспекта указывают, что свойство не может быть задано со значением NULL и что свойства 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>

См. также

Основные понятия

Основные понятия модели EDM
модель Entity Data