AssociationSetMapping 要素 (MSL)
マッピング仕様言語 (MSL) の AssociationSetMapping 要素は、概念モデルのアソシエーションと基になるデータベースのテーブル列の間のマッピングを定義します。
概念モデルのアソシエーションとは、プロパティが基になるデータベースの主キー列および外部キー列を表す型のことです。AssociationSetMapping 要素は、2 つの EndProperty 要素を使用して、アソシエーション型プロパティとデータベース内の列の間のマッピングを定義します。Condition 要素を使用して、これらのマッピングに条件を指定できます。ModificationFunctionMapping 要素を使用して、アソシエーションの挿入関数、更新関数、および削除関数をデータベース内のストアド プロシージャにマップします。QueryView 要素の Entity SQL 文字列を使用して、アソシエーションとテーブル列の間の読み取り専用のマッピングを定義します。
注意
概念モデルのアソシエーションに参照制約が定義されている場合は、AssociationSetMapping 要素を使用してアソシエーションをマップする必要はありません。参照制約のあるアソシエーションに AssociationSetMapping 要素が存在する場合は、AssociationSetMapping 要素内で定義されたマッピングは無視されます。詳細については、「ReferentialConstraint 要素 (CSDL)」を参照してください。
AssociationSetMapping 要素には、次の子要素を含めることができます。
QueryView (0 個または 1 個)
EndProperty (0 個または 2 個)
Condition (0 個以上)
ModificationFunctionMapping (0 個または 1 個)
適用可能な属性
次の表は、AssociationSetMapping 要素に適用できる属性を示しています。
属性名 |
必須 |
値 |
---|---|---|
Name |
はい |
マップされる概念モデルのアソシエーション セットの名前です。 |
TypeName |
いいえ |
マッピングされている概念モデルのアソシエーション型の名前空間修飾名です。 |
StoreEntitySet |
いいえ |
マップされるテーブルの名前です。 |
例
次の例は、概念モデルの FK_Course_Department アソシエーション セットがデータベース内の Course テーブルにマップされた AssociationSetMapping 要素を示しています。アソシエーション型のプロパティとテーブルの列の間のマッピングは、子の 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>