Аспекты (модель CSDL)
Аспекты в языке CSDL представляют ограничения для свойств типов сущностей и сложных типов. Аспекты выглядят как атрибуты XML в следующих элементах CSDL:
Аспекты в CSDL используются платформой Entity Framework при создании базы данных из концептуальной модели. Дополнительные сведения см. в разделе Generate Database Wizard.
В следующей таблице описываются аспекты, поддерживаемые в CSDL. Все аспекты являются необязательными.
![]() |
---|
Дополнительные сведения о типах данных в концептуальной модели см. в разделе Типы концептуальной модели. |
Аспект | Описание | Применимость |
---|---|---|
Collation |
Задает последовательность сортировки, которая будет использоваться при выполнении операций сравнения и упорядочивания для значений свойств. |
Edm.String |
ConcurrencyMode |
Указывает, что значение свойства должно использоваться в проверках оптимистического управления параллелизмом. |
Все свойства EDMSimpleType |
Default |
Задает значение по умолчанию для свойства в случае, если при создании экземпляра не было задано значение. |
Все свойства EDMSimpleType |
FixedLength |
Указывает, может ли изменяться длина значения свойства. |
Edm.Binary, Edm.String |
MaxLength |
Указывает максимальную длину значения свойства. |
Edm.Binary, Edm.String |
Nullable |
Задает, может ли свойство принимать значения null. |
Все свойства EDMSimpleType |
Precision |
Для свойств типа Decimal задается число цифр, которое может иметь значение свойства. Для свойств типа Time, DateTime и DateTimeOffset задается число цифр для части долей секунды значения свойства. |
Edm.DateTime, Edm.DateTimeOffset, Edm.Decimal и Edm.Time. |
Scale |
Задает число цифр справа от десятичной запятой в значении свойства. |
Edm.Decimal |
Unicode |
Указывает будет ли значение свойства храниться в Юникоде. |
Edm.String |
Примечание При создании базы данных из концептуальной модели, Мастер создания базы данных распознает значение атрибута StoreGeneratedPattern для элемента Property в случае, если он находится в следующем пространстве имен: https://schemas.microsoft.com/ado/2009/02/edm/annotation. Поддерживаемые значения атрибута: Identity и Computed. Значение Identity создаст столбец базы данных со значением идентификатора, создаваемым в базе данных. Значение Computed создаст столбец со значением, вычисляемым в базе данных.
Пример
В следующем примере показывается применение аспектов к свойствам типа сущности:
<EntityType Name="Product">
<Key>
<PropertyRef Name="ProductId" />
</Key>
<Property Type="Int32"
Name="ProductId" Nullable="false"
a:StoreGeneratedPattern="Identity"
xmlns:a="https://schemas.microsoft.com/ado/2009/02/edm/annotation" />
<Property Type="String"
Name="ProductName"
Nullable="false"
MaxLength="50" />
<Property Type="String"
Name="Location"
Nullable="true"
MaxLength="25" />
</EntityType>
Дополнительные сведения см. в разделе Элемент Property (CSDL).
См. также
Справочник
System.Data.Metadata.Edm.Facet
Основные понятия
Другие ресурсы
facet (Entity Data Model)
Спецификации языка CSDL, SSDL и MSL