Контейнер сущностей (модель EDM)
Контейнер сущностей — это логическая группа наборов сущностей, наборов ассоциаций и импорта функций.
Для контейнера сущностей, определенного в концептуальной модели, должны выполняться следующие условия.
В каждой концептуальной модели должен быть определен по крайней мере один контейнер сущностей.
Контейнер сущностей должен иметь уникальное имя внутри концептуальной модели.
Контейнер сущностей может определять наборы сущностей или наборы ассоциаций, которые используют типы сущностей или ассоциации, определенные в одном или нескольких пространствах имен. Дополнительные сведения см. в разделе Модель EDM. Пространство имен.
Пример
На приведенной ниже схеме показана концептуальная модель с тремя типами сущностей: Book, Publisher и Author. Дополнительные сведения см. в следующем примере.
Схема не содержит сведений о контейнере сущностей, тем не менее, концептуальная модель должна определять контейнер сущностей. Платформа ADO.NET Entity Framework использует доменный язык DSL, называемый языком CSDL (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>