AssociationSetMapping 元素 (MSL)
以映射规范语言 (MSL) 表示的 AssociationSetMapping 元素会定义概念模型中的关联与基础数据库中的表列之间的映射。
概念模型中的关联是一些属性表示基础数据库中的主键列和外键列的类型。AssociationSetMapping 元素使用两个 EndProperty 元素来定义数据库中的关联类型属性与列之间的映射。您可以使用 Condition 元素对这些映射施加条件。使用 ModificationFunctionMapping 元素将关联的插入、更新和删除函数映射到数据库中的存储过程。通过在 QueryView 元素中使用 实体 SQL 字符串,定义关联与表列之间的只读映射。
备注
如果为概念模型中的某个关联定义了引用约束,则无需使用 AssociationSetMapping 元素映射该关联。如果某个具有引用约束的关联存在一个 AssociationSetMapping 元素,则在 AssociationSetMapping 元素中定义的映射将被忽略。有关更多信息,请参见ReferentialConstraint 元素 (CSDL)。
AssociationSetMapping 元素可以具有以下子元素:
QueryView(零个或一个)
EndProperty(零个或两个)
Condition(零个或多个)
ModificationFunctionMapping(零个或一个)
适用的特性
下表介绍可应用于 AssociationSetMapping 元素的特性。
特性名 |
是否必需 |
值 |
---|---|---|
Name |
是 |
要映射的概念模型关联集的名称。 |
TypeName |
否 |
要映射的概念模型关联类型的命名空间限定的名称。 |
StoreEntitySet |
否 |
要映射的表的名称。 |
示例
下面的示例演示了一个 AssociationSetMapping 元素,在该元素中,模型概念中的 FK_Course_Department 关联集被映射到数据库中的 Course 表。关联类型属性与表列之间的映射在子 EndProperty 元素中指定。
<AssociationSetMapping Name="FK_Course_Department" TypeName="SchoolModel.FK_Course_Department" StoreEntitySet="Course">
<EndProperty Name="Department">
<ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
</EndProperty>
<EndProperty Name="Course">
<ScalarProperty Name="CourseID" ColumnName="CourseID" />
</EndProperty>
</AssociationSetMapping>
<AssociationSetMapping Name="FK_Course_Department"
TypeName="SchoolModel.FK_Course_Department"
StoreEntitySet="Course">
<EndProperty Name="Department">
<ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
</EndProperty>
<EndProperty Name="Course">
<ScalarProperty Name="CourseID" ColumnName="CourseID" />
</EndProperty>
</AssociationSetMapping>