共用方式為


對應規格 (MSL)

在 實體資料模型 (EDM) 中,對應規格會使用對應規格語言 (MSL),將概念結構定義語言 (CSDL) 中宣告的型別連接到資料庫中繼資料,此中繼資料會保存使用所定義之物件模型的應用程式資料。

CSDL 結構描述中所宣告的 NamespaceNameEntityContainerName 會識別概念結構描述所容納的實體和關聯。MSL 語法會將它們對應到存放結構定義語言 (SSDL) 檔案內的存放中繼資料。

下列 MSL 區段顯示的語法是用來將實體容器 HumanResources (如 CSDL 結構描述中所定義) 對應到對應的實體容器 HumanResources (如 SSDL 結構描述中所定義),以描述目標資料庫。

指派給 CdmEntityContainerStorageEntityContainer 的實體容器名稱不會受到其宣告所在之結構描述的 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 項目包含一個 Name 屬性,這個屬性會同時在概念結構描述和儲存中繼資料中識別 Department 實體集。

EntityTypeMapping 項目包含 CSDL 結構描述中 Department 實體的 TypeName 屬性,而且在資料庫的 Department 資料表中有對應的 MappingFragmentTableName 屬性。

最後,ScalarProperty 項目會將 CSDL 結構描述中某實體之屬性的 Name 對應到 SSDL 結構描述中 Department 資料表內的 ColumnName

    <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 結構描述位於 XML 命名空間中:urn:schemas-microsoft-com:windows:storage:mapping:CS

EntitySetMapping 項目 (MSL)

EntityContainerMapping 項目 (MSL)

EntitySetMapping 項目 (MSL)

AssociationSetMapping 項目 (MSL)

另請參閱

概念

概念結構描述 (CSDL)
儲存中繼資料結構描述 (SSDL)
AdventureWorks 完整模型 (EDM)
Entity Framework 中的資料模型化