다음을 통해 공유


엔터티 데이터 모델: 네임스페이스

EDM(엔터티 데이터 모델)의 네임스페이스는 엔터티 형식, 복합 형식 및 연결에 대한 추상 컨테이너 입니다. EDM의 네임스페이스는 프로그래밍 언어의 네임스페이스와 유사합니다. 이 네임스페이스는 포함된 개체에 대한 컨텍스트를 제공하고 이름이 같지만 다른 네임스페이스에 포함된 개체를 명확하게 구분하는 방법을 제공합니다.

예시

ADO.NET Entity FrameworkCSDL(개념 스키마 정의 언어)이라는 DSL(도메인별 언어)을 사용하여 개념 모델을 정의합니다. 다음 CSDL 코드는 네임스페이스를 사용하여 다른 개념적 모델에 정의된 형식을 식별합니다. 이 예제는 Publisher 네임스페이스에서 가져온 복합 형식 속성(Address)이 있는 엔터티 형식(ExtendedBooksModel)을 정의합니다. Using 요소는 네임스페이스를 가져왔음을 나타냅니다. 또한 속성의 Address 형식은 정규화된 이름()ExtendedBooksModel.Address을 사용하여 정의되며 이 형식이 네임스페이스에 ExtendedBooksModel 정의되어 있음을 나타냅니다.

  <Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm"
          xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration"
          xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator"
          Namespace="BooksModel" Alias="Self">

    <Using Namespace="BooksModel.Extended" Alias="BMExt" />
    
<EntityContainer Name="BooksContainer" >
      <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
    </EntityContainer>
    
<EntityType Name="Publisher">
      <Key>
        <PropertyRef Name="Id" />
      </Key>
      <Property Type="Int32" Name="Id" Nullable="false" />
      <Property Type="String" Name="Name" Nullable="false" />
      <Property Type="BMExt.Address" Name="Address" Nullable="false" />
    </EntityType>
  
</Schema>

참고하십시오