外键属性(实体数据模型)

实体数据模型 (EDM) 中的“外键属性”**是某个实体类型的一个或一组基元类型属性,其中包含另一个实体类型的实体键

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

示例

下图显示了一个具有三个实体类型的概念模型:BookPublisherAuthorBook 实体类型有一个属性 PublisherId,当您为 PublishedBy 关联定义一个引用完整性约束时,它将引用 Publisher 实体类型的实体键。

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>

另请参见

概念

实体数据模型关键概念
实体数据模型