кратность конечной точки ассоциации
Число экземпляров типа сущности, которые могут находиться в одном конце ассоциации, определяется кратностью связи.
Кратность конечной точки ассоциации может иметь одно из следующих значений.
«один» (1): показывает, что на конечной точке ассоциации существует ровно один экземпляр типа сущности.
«ноль или один» (0..1): показывает, что на конечной точке ассоциации существует ноль, один или несколько экземпляров типа сущности.
«много» (*): показывает, что на конечной точке ассоциации существует ноль, один или несколько экземпляров типа сущности.
Ассоциация зачастую характеризуется кратностями конечной точки ассоциации. Например, если конечные точки ассоциации имеют кратности «один» (1) и «много» (*), ассоциация называется ассоциацией «один-ко-многим». В следующем примере ассоциация PublishedBy
является ассоциацией «один-ко-многим» (один издатель публикует много книг, а одна книга публикуется одним издателем). Ассоциация WrittenBy
является ассоциацией «один-ко-многим» (одна книга может иметь несколько авторов, а один автор может написать несколько книг).
Пример
На приведенной ниже схеме показана концептуальная модель с двумя ассоциациями: PublishedBy
и WrittenBy
. Конечные точки ассоциации для ассоциации PublishedBy
- это типы сущности Book
и Publisher
. Кратность конечной точки Publisher
- «один» (1), а кратность конечной точки Book
- «много» (*).
В ADO.NET Entity Framework используется язык, зависящий от домена (DSL), называемый языком определения концептуальной схемы (CSDL) для определения концептуальных моделей. Далее язык CSDL определяет ассоциацию PublishedBy
, которая ранее приводилась в схеме.
<Association Name="PublishedBy">
<End Type="BooksModel.Book" Role="Book" Multiplicity="*" />
<End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
</Association>