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


конечная точка ассоциации

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

Определение конечной точки ассоциации содержит следующую информацию.

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

    Примечание.

    Для одной ассоциации тип сущности, указанный для каждой конечной точки ассоциации, может быть одним и тем же. Так создается самоассоциация.

  • Кратность конца ассоциации, указывающая количество экземпляров типа сущности, которые могут находиться в одном конце связи. Кратность конечной точки ассоциации может иметь значение «один» (1), «нуль или один» (0..1) или «много» (*).

  • Имя для элемента ассоциации. (Необязательно)

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

Пример

На приведенной ниже схеме показана концептуальная модель с двумя ассоциациями: PublishedBy и WrittenBy. Конечные точки ассоциации для ассоциации PublishedBy - это типы сущности Book и Publisher. Кратность конечной точки Publisher - «один» (1), а кратность конечной точки Book - «много» (*), что означает, что издатель публикует много книг, а одна книга публикуется одним издателем.

Example model with three entity types

В ADO.NET Entity Framework используется язык, зависящий от домена (DSL), называемый языком определения концептуальной схемы (CSDL) для определения концептуальных моделей. Ниже язык определения концептуальной схемы определяет ассоциацию PublishedBy, которая ранее приводилась в схеме. Обратите внимание, что тип, имя и кратность каждой конечной точки ассоциации указаны атрибутами XML (атрибуты Type, Role и Multiplicity соответственно). Дополнительные сведения об операциях, выполненных на конечной точке, указываются в элементе XML (элемент OnDelete). В данном случае, если издатель удаляется, удаляются и все связанные книги.

  <Association Name="PublishedBy">
    <End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
    <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" >
  <OnDelete Action="Cascade" />
</End>
  </Association>

См. также