次の方法で共有


EntitySetMapping 要素 (MSL)

マッピング仕様言語 (MSL) の EntitySetMapping 要素は、概念モデルのあらゆる型のエンティティ セットをストレージ モデルのエンティティ セットにマップします。 概念モデルのエンティティ セットは、同じ型のエンティティのインスタンス (および派生型) の論理コンテナーです。 ストレージ モデルのエンティティ セットは、基になるデータベースのテーブルまたはビューを表します。 概念モデルのエンティティ セットは、EntitySetMapping 要素の Name 属性の値によって指定されます。 マップ先のテーブルまたはビューは、MappingFragment 要素の各子要素、または EntitySetMapping 要素自体の StoreEntitySet 属性によって指定されます。

The EntitySetMapping element can have the following child elements:

適用可能な属性

The following table describes the attributes that can be applied to the EntitySetMapping element.

属性名 必須 Value

Name

有効

マッピングされている概念モデルのエンティティ セットの名前。

TypeName 1

いいえ

マッピングされている概念モデルのエンティティ型の名前。

StoreEntitySet 1

いいえ

マップ先のストレージ モデルのエンティティ セットの名前。

MakeColumnsDistinct

いいえ

個別の行のみが返されるかどうかによって True または False

この属性が True に設定されている場合、EntityContainerMapping 要素の GenerateUpdateViews 属性を False に設定する必要があります。

1 TypeName 属性と StoreEntitySet 属性を EntityTypeMapping 子要素と MappingFragment 子要素の代わりに使用して、単一エンティティ型を単一テーブルにマップすることができます。

次の例は、概念モデルの Courses エンティティ セットの 3 つの型 (1 つの基本型と 2 つの派生型) を基になるデータベースの 3 つの異なるテーブルにマップする EntitySetMapping 要素を示します。 テーブルは各 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>

参照

概念

CSDL 仕様
SSDL 仕様

その他のリソース

モデリングとマッピング (Entity Framework)