EntitySetMapping 項目 (MSL)

對應規格語言 (MSL) 中的 EntitySetMapping 項目會將概念模型實體集中的所有類型對應至儲存模型中的實體集。概念模型中的實體集就是相同型別 (及衍生型別) 之實體的執行個體邏輯容器。儲存模型中的實體集代表基礎資料庫中的資料表或檢視。概念模型實體集是由 EntitySetMapping 項目的 Name 屬性值所指定。對應到資料表或檢視是由 MappingFragment 項目中的每個子項目或 EntitySetMapping 項目本身中之 StoreEntitySet 屬性所指定。

EntitySetMapping 項目可以擁有下列子項目:

適用屬性

下表描述可套用至 EntitySetMapping 項目的屬性。

屬性名稱

必要

Name

要對應的概念模型實體集名稱。

TypeName1

要對應的概念模型實體類型名稱。

StoreEntitySet1

要對應至的儲存模型實體集名稱。

MakeColumnsDistinct

True 或 False 是根據是否只傳回相異資料列而定。

如果此屬性已設定為 True,EntityContainerMapping 項目的 GenerateUpdateViews 屬性必須設定為 False。

1TypeName 和 StoreEntitySet 屬性可以用來取代 EntityTypeMappingMappingFragment 子項目,以便將單一實體類型對應至單一資料表。

範例

下列範例示範的 EntitySetMapping 項目會將概念模型的 Courses 實體集中之三個型別 (基底型別和兩個衍生型別) 對應至基礎資料庫中的三個不同資料表。資料表是由每個 MappingFragment 項目中的 StoreEntitySet 屬性所指定。

<EntitySetMapping Name="Courses">
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.Course)">
    <MappingFragment StoreEntitySet="Course">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
      <ScalarProperty Name="Credits" ColumnName="Credits" />
      <ScalarProperty Name="Title" ColumnName="Title" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnlineCourse)">
    <MappingFragment StoreEntitySet="OnlineCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="URL" ColumnName="URL" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnsiteCourse)">
    <MappingFragment StoreEntitySet="OnsiteCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="Time" ColumnName="Time" />
      <ScalarProperty Name="Days" ColumnName="Days" />
      <ScalarProperty Name="Location" ColumnName="Location" />
    </MappingFragment>
  </EntityTypeMapping>
</EntitySetMapping>
<EntitySetMapping Name="Courses">
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.Course)">
    <MappingFragment StoreEntitySet="Course">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
      <ScalarProperty Name="Credits" ColumnName="Credits" />
      <ScalarProperty Name="Title" ColumnName="Title" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnlineCourse)">
    <MappingFragment StoreEntitySet="OnlineCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="URL" ColumnName="URL" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnsiteCourse)">
    <MappingFragment StoreEntitySet="OnsiteCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="Time" ColumnName="Time" />
      <ScalarProperty Name="Days" ColumnName="Days" />
      <ScalarProperty Name="Location" ColumnName="Location" />
    </MappingFragment>
  </EntityTypeMapping>
</EntitySetMapping>

請參閱

概念

CSDL 規格

SSDL 規格

其他資源

模型化及對應檔案