次の方法で共有


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 要素によって 2 つのエンティティ コンテナがマップされ、それらの 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 属性は、スキーマの残りで名前空間名を短縮するために使用されます。次の例では、文字列 SelfAlias 属性に割り当てます。

<?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 スキーマで使用されます。

参照

概念

概念スキーマ (CSDL)
マッピング スキーマ (MSL)
AdventureWorks Complete Model (EDM)