Поделиться через


Атрибут Namespace (язык SSDL)

В модели Entity Data Model (EDM) элемент Schema метаданных хранилища содержит имя пространства имен. Пространство имен используется, если для деклараций в схеме требуется полное имя. Пространство имен часто сокращается с помощью псевдонима. В следующем примере атрибуту Alias схемы AdventureWorksHRTarget назначается термин Self.

<?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.

<?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

Предыдущий пример также содержит атрибут xmlns, использующий назначенный URL-адрес. Этот URL-адрес используется во всех схемах языка SSDL.

См. также

Основные понятия

Концептуальная схема (язык CSDL)
Спецификация сопоставления (язык MSL)
Полная модель AdventureWorks (модель EDM)