Атрибут 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)