Namespace 屬性 (SSDL)
在 實體資料模型 (EDM) 中,儲存中繼資料 Schema 項目包含命名空間名稱。當結構描述內的宣告需要完整限定名稱時,便會使用命名空間名稱。命名空間名稱經常會使用別名當做縮寫。下列範例會將 Self 一詞指派給 AdventureWorksHRTarget 結構描述的 Alias 屬性。
<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRTarget"
Alias="Self"
xmlns="https://schemas.microsoft.com/ado/2006/04/edm/ssdl">
概念結構定義語言 (CSDL) 檔中有類似的一行。唯一的差異在於指派給 Namespace 屬性的名稱及指派給 xmlns 屬性的 URL。
<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRModel"
Alias="Self"
xmlns="https://schemas.microsoft.com/ado/2006/04/edm">
這些宣告中所用的命名空間名稱會在建構的資料模型中反映其用途。AdventureWorksHRTarget 是 AdventureWorksHRModel 為了將它所定義的型別與儲存區連接所使用的目標中繼資料。
在對應規格中,EntityContainerMapping 項目會將兩個實體容器 (不含參考) 對應到其 namespace 名稱。EntityContainer 與 Schema 分開,即使它是定義在 Schema 中亦然。對應規格只會參考容器物件,如同以下對應規格語言 (MSL) 語法所示:CdmEntityContainer="HumanResources"``StorageEntityContainer="HumanResources"
。
<?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">
Alias
Alias 屬性是用來縮短其餘結構描述中的命名空間名稱。下列範例會將 Self 字串指派給 Alias 屬性。
<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRModel"
Alias="Self"
xmlns="https://schemas.microsoft.com/ado/2006/04/edm">
Alias 在其餘結構描述中非常實用,而且可改善可讀性,如下列語法所示。
<EntityContainer Name="HumanResources">
<EntitySet Name="Department" EntityType="Self.Department" />
<EntitySet Name="Employee" EntityType="Self.Employee" />
<EntitySet Name="EmployeeAddress" EntityType="Self.EmployeeAddress" />
Xmlns
之前的範例也包含使用指派之 URL 的 xmlns 屬性。此 URL 會在所有 SSDL 結構描述中使用。