свойство внешнего ключа (модель EDM)
Свойство внешнего ключа в модели EDM — это свойство примитивного типа (или набор свойств примитивного типа) в типе сущности, который содержит ключ сущности другого типа сущности.
Свойство внешнего ключа схоже со столбцом внешнего ключа в реляционной базе данных. Так же как столбцы внешнего ключа используются в реляционной базе данных для создания связей между строками в таблицах, свойства внешнего ключа в концептуальной модели используются для установления ассоциаций между типами сущностей. Ограничение ссылочной целостности используется для определения ассоциации между двумя типами сущностей, если один из типов имеет свойство внешнего ключа.
Пример
На приведенной ниже схеме показана концептуальная модель с тремя типами сущностей: Book, Publisher и Author. Тип сущности Book имеет свойство PublisherId, которое ссылается на ключ сущности типа сущности Publisher при определении ограничения ссылочной целостности ассоциации PublishedBy.
Платформа ADO.NET Entity Framework использует доменный язык DSL, называемый языком CSDL (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>