Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойства — это основные стандартные блоки типов сущностей и сложных типов. Свойства определяют форму и характеристики данных, которые будет содержать экземпляр типа сущности или сложный экземпляр типа. Свойства в концептуальной модели аналогичны свойствам, определенным в классе. Таким же образом, как свойства класса определяют форму класса и содержат сведения об объектах, свойства в концептуальной модели определяют форму типа сущности и содержат сведения о экземплярах типов сущностей.
Замечание
Свойства, как описано в этом разделе, отличаются от свойств навигации. Дополнительные сведения см. в разделе "Свойства навигации".
Определение свойства содержит следующие сведения:
Имя свойства. (Обязательно)
Тип свойства. (Обязательно)
Набор аспектов. (Необязательно)
Свойство может содержать примитивные данные (например, строку, целое число или логическое значение) или структурированные данные (например, сложный тип). Свойства, имеющие примитивный тип, также называются скалярными свойствами. Дополнительные сведения см. в разделе "Модель данных сущности: примитивные типы данных".
Замечание
Сложный тип может иметь свойства, которые являются сложными типами.
Пример
На схеме ниже показана концептуальная модель с тремя типами сущностей: Book, Publisherи Author. Каждый тип сущности имеет несколько свойств, хотя сведения о типе для каждого свойства не передаются на схеме. Свойства, которые являются ключами сущностей , указываются с помощью (Key).
В ADO.NET Entity Framework используется язык, зависящий от домена (DSL), называемый языком определения концептуальной схемы (CSDL) для определения концептуальных моделей. Следующий CSDL определяет Book тип сущности (как показано на схеме выше) и указывает тип и имя каждого свойства с помощью XML-атрибутов. Необязательный аспект, Nullableтакже определяется с помощью XML-атрибута.
<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>
Возможно, одно из свойств, показанных на схеме, является свойством сложного типа. Например, свойство Address типа Publisher сущности может быть сложным свойством, состоящим из нескольких скалярных свойств, таких как StreetAddress, City, StateOrProvince, Country и PostalCode. Представление CSDL такого сложного типа будет следующим образом:
<ComplexType Name="Address" >
<Property Type="String" Name="StreetAddress" Nullable="false" />
<Property Type="String" Name="City" Nullable="false" />
<Property Type="String" Name="StateOrProvince" Nullable="false" />
<Property Type="String" Name="Country" Nullable="false" />
<Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>