對應規格 (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 項目包含一個 Name 屬性,這個屬性會同時在概念結構描述和儲存中繼資料中識別 Department 實體集。
EntityTypeMapping 項目包含 CSDL 結構描述中 Department 實體的 TypeName 屬性,而且在資料庫的 Department 資料表中有對應的 MappingFragment 和 TableName 屬性。
最後,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
。
EntityContainerMapping 項目 (MSL)
AssociationSetMapping 項目 (MSL)
另請參閱
概念
概念結構描述 (CSDL)
儲存中繼資料結構描述 (SSDL)
AdventureWorks 完整模型 (EDM)
Entity Framework 中的資料模型化