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


ограничение ссылочной целостности (модель EDM)

Ограничение ссылочной целостности в модели EDM схоже с ограничением ссылочной целостности в реляционной базе данных. Так же как столбец (или столбцы) из таблицы базы данных может иметь ссылку на первичный ключ другой таблицы, свойство (или свойства) типа сущности может иметь ссылки на ключ сущности другого типа сущности. Тип сущности, на который ссылаются, называется основным концом ограничения. Тип сущности, который ссылается на основной конец, называется зависимым концом ограничения.

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

  • Основной конец ограничения. (Тип сущности, ключ сущности которого имеет ссылку на зависимый конец.)

  • Ключ сущности основного конца.

  • Зависимый конец ограничения. (Тип сущности, который имеет свойство или свойства, ссылающиеся на ключ сущности основного конца.)

  • Ссылка на свойство или свойства зависимого конца.

Целью ограничения ссылочной целостности в модели EDM является обеспечение постоянного существования допустимых ассоциаций. Дополнительные сведения см. в разделе свойство внешнего ключа (модель EDM).

Пример

На приведенной ниже схеме показана концептуальная модель с двумя ассоциациями: WrittenBy и PublishedBy. Тип сущности Book имеет свойство PublisherId, которое ссылается на ключ сущности типа сущности Publisher при определении ограничения ссылочной целостности ассоциации PublishedBy.

RefConstraintModel

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

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

См. также

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

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