EntitySetMapping 元素 (MSL)

使用 实体数据模型 (EDM) 定义对象模型要求可编程类和存储结构包含在模型上生成的应用程序的数据。映射规范语言 (MSL) 中的 EntitySetMapping 元素将概念性架构定义语言 (CSDL) 中定义的 EntitySet 连接到存储架构定义语言 (SSDL) 中的 EntitySet

概念性架构中的 EntityContainer 元素映射到存储元数据中对应的 EntityContainer 元素。在映射文件中,EntityContainer 的完全限定名称不包含架构命名空间名称。使用由架构命名空间名称限定的实体容器名称会导致映射异常。

EntitySetMapping 元素将概念性架构中的 Department 实体映射到存储元数据中的 Department 表。EntitySet 是实体类型的实例聚合,EntitySetMapping 是由 EntityType 映射定义的,该映射将 AdventureWorksHRModel 中的类型名和属性连接到存储元数据中的表名和列名。有关此语法的更多信息,请参见 EntityTypeMapping 元素 (EntitySetMapping)

下面的示例演示 Department 实体的 EntitySet 映射规范。本示例中,EntitySetMapping 元素在 EntityContainerMapping 元素内部使用,后者指定 AdventureWorksHRModel 概念性架构中的 HumanResources 容器与 AdventureWorksHRTarget 存储元数据中的 HumanResources 容器之间的映射。

<EntityContainerMapping CdmEntityContainer="HumanResources"
                      StorageEntityContainer="HumanResources">

    <EntitySetMapping Name="Department">
      <EntityTypeMapping
                TypeName="AdventureWorksHRModel.Department">
        <TableMappingFragment TableName="Department">
          <ScalarProperty Name="DepartmentID"
                             ColumnName="DepartmentID" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="GroupName"
                                     ColumnName="GroupName" />
          <ScalarProperty Name="ModifiedDate"
                                  ColumnName="ModifiedDate" />
        </TableMappingFragment>
      </EntityTypeMapping>
    </EntitySetMapping>

  </EntityContainerMapping>

另请参见

概念

EntityTypeMapping 元素 (EntitySetMapping)
EntityContainer 元素 (SSDL)
EntityContainer 元素 (CSDL)
AdventureWorks 完整模型 (EDM)