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


контейнер сущностей

Контейнер сущностей — это логическая группировка наборов сущностей, наборов ассоциаций и импорта функций.

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

  • В каждой концептуальной модели должен быть определен по крайней мере один контейнер сущностей.

  • Контейнер сущностей должен иметь уникальное имя внутри концептуальной модели.

Контейнер сущностей может определять наборы сущностей или наборы ассоциаций, которые используют типы сущностей или ассоциации, определенные в одном или нескольких пространствах имен. Дополнительные сведения см. в разделе "Модель данных сущности: пространства имен".

Пример

На приведенной ниже схеме показана концептуальная модель с тремя типами сущностей: Book, Publisher и Author. Дополнительные сведения см. в следующем примере.

Example model with three entity types

Схема не содержит сведений о контейнере сущностей, тем не менее, концептуальная модель должна определять контейнер сущностей. Платформа entity Framework ADO.NET использует DSL с именем языка определения концептуальной схемы (CSDL) для определения концептуальных моделей. Далее на языке CSDL определяется контейнер сущностей для концептуальной модели, приведенной на схеме выше. Обратите внимание, что имя контейнера сущностей определяется в атрибуте XML.

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

См. также