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


кратность конечной точки ассоциации

Число экземпляров типа сущности, которые могут находиться в одном конце ассоциации, определяется кратностью связи.

Кратность конечной точки ассоциации может иметь одно из следующих значений.

  • «один» (1): показывает, что на конечной точке ассоциации существует ровно один экземпляр типа сущности.

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

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

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

Пример

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

Example model with three entity types

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

См. также