конечная точка набора ассоциаций (модель EDM)
Конечная точка набора ассоциаций идентифицирует тип сущности и набор сущностей на конечной точке набора сущностей. Конечные точки набора ассоциаций определяются как часть набора ассоциаций; набор ассоциаций должен иметь ровно две конечные точки.
Определение конечной точки набора ассоциаций содержит следующую информацию.
Один из типов сущностей, участвующих в наборе ассоциаций. (Обязательный атрибут).
Набор сущностей для типа сущностей, участвующих в наборе ассоциаций. (Обязательный атрибут).
Пример
На приведенной ниже схеме показана концептуальная модель с двумя ассоциациями: WrittenBy и PublishedBy.
На следующей схеме показаны один набор ассоциаций (PublishedBy и Books) и два набора сущностей (Publishers) на основе приведенной выше концептуальной модели. Конечные точки набора ассоциаций — это наборы сущностей Books и Publishers. Bi в наборе сущностей Books представляет экземпляр типа сущности Book во время выполнения. Аналогично Pj представляет экземпляр Publisher в наборе сущностей Publishers. BiPj представляет экземпляр ассоциации PublishedBy в наборе ассоциаций PublishedBy.
Платформа ADO.NET Entity Framework использует доменный язык DSL, называемый языком CSDL (CSDL), для определения концептуальных моделей. Далее на языке CSDL определяется контейнер сущностей с одним набором ассоциаций для каждой ассоциации на приведенной выше схеме. Обратите внимание, что конечные точки набора ассоциаций определяются как часть каждого определения набора ассоциаций.
<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>