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


тип ассоциации (модель EDM)

Тип ассоциации (также называемый ассоциацией) — это фундаментальный блок построения для описания связей в модели EDM. В концептуальной модели ассоциация представляет собой связь между двумя типами сущностей (такими как Customer и Order). В приложении экземпляр ассоциации представляет собой специфическую ассоциацию (такую как ассоциация между экземпляром Customer и экземпляром Order). Экземпляры ассоциации логически сгруппированы в набор ассоциаций.

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

  • Уникальное имя. (Обязательный атрибут).

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

    Ee382823.note(ru-ru,VS.100).gifПримечание
    Ассоциация не может представлять связь между более чем двумя типами сущностей.Ассоциация может, тем не менее, определять связь с самим собой посредством указания одного и того же типа сущности для каждой из его конечных точек ассоциаций.

  • Ограничение ссылочной целостности. (Необязательный параметр)

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

Пример

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

Модель примера

Платформа ADO.NET Entity Framework использует доменный язык DSL, называемый языком CSDL (CSDL), для определения концептуальных моделей. Далее язык CSDL определяет ассоциацию PublishedBy, которая ранее приводилась в схеме.

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

См. также

Основные понятия

Основные понятия модели EDM
модель Entity Data