外键属性

实体数据模型 (EDM) 中的外键属性实体类型上的基元类型属性(或一组基元类型属性),它包含另一实体类型的实体键。

外键属性类似于关系数据库中的外键列。 与在关系数据库中使用外键列来创建表中的行之间的关系相同,概念模型中的外键属性用于在实体类型之间建立 关联 。 当其中一种类型具有外键属性时, 引用完整性约束 用于定义两个实体类型之间的关联。

示例:

下图显示了一个概念模型,其中包含三种实体类型:BookPublisherAuthor。 当您在Book关联上定义参照完整性约束时,PublisherId实体类型具有一个属性Publisher,它引用了PublishedBy实体类型的实体键。

RefConstraintModel

ADO.NET Entity Framework 使用称为概念架构定义语言(CSDL)的特定于域的语言(DSL)来定义概念模型。 以下 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>

另请参阅