次の方法で共有


マッピング スキーマ (MSL)

エンティティ データ モデル (EDM) では、マッピング スキーマは、マッピング スキーマ言語 (MSL) を使用して、概念スキーマ定義言語 (CSDL) で定義された型と、定義されるオブジェクト モデルを使用するアプリケーションのデータを永続化するためのデータベース メタデータを接続します。

CSDL スキーマで宣言された NamespaceName および EntityContainerName は、概念スキーマに含まれるエンティティとアソシエーションを指定します。MSL 構文は、これらのエンティティとアソシエーションをストア スキーマ定義言語 (SSDL) ファイル内のストア メタデータにマップします。

次の MSL セグメントは、エンティティ コンテナ HumanResources (CSDL スキーマで定義) を対応するエンティティ コンテナ HumanResources (SSDL スキーマで定義され、ターゲット データベースを説明) にマップするために使用する構文を示します。

CdmEntityContainer および StorageEntityContainer に割り当てられたエンティティ コンテナの名前には、それらが宣言されるスキーマの Namespace 名による修飾が使用されません。エンティティ コンテナはスキーマの内部で宣言されますが、エンティティ コンテナはスキーマとは別個に独立したものです。

<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" 
    xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">

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

エンティティ コンテナに含まれるエンティティ セットは、エンティティ コンテナに使用される構文と似た構文を使用してマップされます。次のマッピングは、概念スキーマの AdventureWorksHRModel.Department というエンティティ セットをストレージ メタデータの Department というテーブルに接続します。EntitySetMapping 要素には、概念スキーマとストレージ メタデータの両方の Department エンティティ セットを指定する Name 属性が含まれます。

EntityTypeMapping 要素は、CSDL スキーマの Department エンティティの TypeName 属性に加えて、データベースの Department テーブルの対応する MappingFragment および TableName 属性を含みます。

最後に、ScalarProperty 要素は、SSDL スキーマの Department テーブルの ColumnName に対する CSDL スキーマのエンティティのプロパティの Name に対応します。

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

Xmlns

MSL スキーマは、urn:schemas-microsoft-com:windows:storage:mapping:CS XML 名前空間にあります。

EntitySetMapping 要素 (MSL)

EntityContainerMapping 要素 (MSL)

EntitySetMapping 要素 (MSL)

AssociationSetMapping 要素 (MSL)

参照

概念

概念スキーマ (CSDL)
ストレージ メタデータ スキーマ (SSDL)
AdventureWorks Complete Model (EDM)
Entity Framework のデータ モデリング