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


Элемент EntitySet (CSDL)

Элемент EntitySet в языке CSDL является логическим контейнером для экземпляров типа сущности и экземпляров любого типа, являющихся производными от этого типа сущности. Связь между типом сущности и набором сущностей аналогична связи между строкой и таблицей в реляционной базе данных. Тип сущности, как и строка, определяет ряд взаимосвязанных данных, а набор сущностей, как и таблица, содержит экземпляры этого определения. Набор сущностей предоставляет конструкцию для группирования экземпляров типа сущности, чтобы их можно было сопоставлять со связанными структурами данных в источнике данных. Дополнительные сведения см. в разделах Элемент EntityContainerMapping (язык MSL) и Элемент EntitySetMapping (язык MSL).

Можно определить больше одного набора сущностей для конкретного типа сущности.

Bb387139.note(ru-ru,VS.100).gifПримечание
Конструктор Entity Data Model Designer (конструктор сущностей) не поддерживает концептуальные модели, которые содержат несколько наборов сущностей для одного типа.

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

  • Элемент Documentation (допускается ровно один элемент либо элемент может отсутствовать)

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

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

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

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

Name

Да

Имя набора сущностей.

EntityType

Да

Полное имя типа сущности, для которого набор сущностей содержит экземпляры.

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

Пример

В следующем примере рассматривается элемент EntityContainer с тремя элементами EntitySet.

<EntityContainer Name="BooksContainer" >
  <EntitySet Name="Books" EntityType="BooksModel.Book" />
  <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
  <EntitySet Name="Authors" EntityType="BooksModel.Author" />
  <AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Publisher" EntitySet="Publishers" />
  </AssociationSet>
  <AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Author" EntitySet="Authors" />
  </AssociationSet>
</EntityContainer>

Предусмотрена возможность определять несколько наборов сущностей на тип (модель MEST). В следующем примере определяется контейнер сущностей с двумя наборами сущностей для типа сущности Book:

<EntityContainer Name="BooksContainer" >
  <EntitySet Name="Books" EntityType="BooksModel.Book" />
  <EntitySet Name="FictionBooks" EntityType="BooksModel.Book" />
  <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
  <EntitySet Name="Authors" EntityType="BooksModel.Author" />
  <AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Publisher" EntitySet="Publishers" />
  </AssociationSet>
  <AssociationSet Name="BookAuthor" Association="BooksModel.BookAuthor">
    <End Role="Book" EntitySet="Books" />
    <End Role="Author" EntitySet="Authors" />
  </AssociationSet>
</EntityContainer>

См. также

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

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

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

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