Элемент EntityType (язык CSDL)

Элемент EntityType представляет структуру концепции верхнего уровня, например, клиента или заказа, в концептуальной модели. Тип сущности — это шаблон для экземпляров типов сущностей в приложении. Каждый шаблон содержит следующие сведения.

  • Уникальное имя. (Обязательно.)

  • Ключ сущности, определяемый одним или несколькими свойствами. (Обязательно.)

  • Свойства содержащихся данных. (Необязательно.)

  • Свойства навигации, позволяющие осуществлять переход от одного элемента ассоциации к другому. (Необязательно.)

В приложении экземпляр типа сущности представляет определенный объект (например, определенного клиента или заказ). Каждый экземпляр типа сущности в наборе сущностей должен иметь уникальный ключ сущности.

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

Элемент EntityType может иметь следующие дочерние элементы (в порядке перечисления).

  • Documentation (ноль или один элемент)

  • Key (ноль или один элемент)

  • Property (ноль или больше элементов)

  • NavigationProperty (допустимое количество элементов — ноль или больше)

  • Элементы Annotation (ноль или более элементов)

Применимые атрибуты

В таблице ниже описываются атрибуты которые могут быть применены к элементу EntityType.

Имя атрибута Необходимо Значение

Name

Да

Имя типа сущности.

BaseType

Нет

Имя другого типа сущности, являющегося базовым типом для определяемого типа сущности.

Abstract

Нет

True или False, в зависимости от того, является ли тип сущности абстрактным типом.

OpenType

Нет

True или False, в зависимости от того, является ли тип сущности открытым.

Bb399206.note(ru-ru,VS.100).gifПримечание
Атрибут OpenType применим только к типам сущностей, определенным в концептуальных моделях, используемых в ADO.NET Data Services.

Bb399206.note(ru-ru,VS.100).gifПримечание
К элементу EntityType может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать.

Пример

В следующем примере рассматривается элемент EntityType с тремя элементами Property и двумя элементами NavigationProperty.

<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>

См. также

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

Общие сведения о платформе Entity Framework
Спецификация языка CSDL
Элемент Schema (CSDL)

Другие ресурсы

Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools
entity type (Entity Data Model)