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


свойство внешнего ключа

Свойство внешнего ключа в модели данных сущности (EDM) — это примитивное свойство типа (или набор свойств примитивного типа) для типа сущности, содержащего ключ сущности другого типа сущности.

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

Пример

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

RefConstraintModelПример

В ADO.NET Entity Framework используется язык, зависящий от домена (DSL), называемый языком определения концептуальной схемы (CSDL) для определения концептуальных моделей. Следующий CSDL использует свойство PublisherId внешнего ключа для определения ограничения целостности ссылок на 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>

См. также