Namespace 특성(SSDL)

EDM(엔터티 데이터 모델)에서 저장소 메타데이터 Schema 요소는 네임스페이스 이름을 포함합니다. 네임스페이스 이름은 스키마에서의 선언에 정규화된 이름이 필요할 때 사용됩니다. 네임스페이스 이름은 별칭을 통해 간략한 형태로 사용되는 경우가 많습니다. 다음 예제에서는 AdventureWorksHRTarget 스키마의 Alias 특성에 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">

이 선언에 사용된 네임스페이스 이름은 생성할 데이터 모델에서의 용도를 반영합니다. AdventureWorksHRTargetAdventureWorksHRModel에서 정의하는 형식을 저장소에 연결하는 데 사용하는 대상 메타데이터입니다.

매핑 사양에서 EntityContainerMapping 요소는 해당 namespace 이름을 참조하지 않고 두 엔터티 컨테이너를 매핑합니다. EntityContainerSchema에서 정의되었더라도 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 전체 모델(EDM)