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


Модель EDM. Пространство имен

Пространство имен в модели EDM — это абстрактный контейнер для типов сущностей, сложных типов и ассоциаций. Пространства имен в модели EDM схожи с пространствами имен в языке программирования: они обеспечивают контекст для объектов, которые они содержат, а также являются способом устранения неопределенности в отношении объектов, которые имеют одно и то же имя (но содержатся в разных пространствах имен).

Пример

Платформа ADO.NET Entity Framework использует доменный язык DSL, называемый языком CSDL (CSDL), для определения концептуальных моделей. В следующем коде на языке CSDL используется пространство имен для идентификации типа, определенного в другой концептуальной модели. В примере определяется тип сущности (Publisher), который имеет свойство сложного типа (Address), импортированного из пространства имен ExtendedBooksModel. Обратите внимание, что элемент Using указывает на то, что пространство имен было импортировано. Также обратите внимание, что тип свойства Address определен при помощи своего полного имени (ExtendedBooksModel.Address) с указанием на то, что этот тип определен в пространстве имен ExtendedBooksModel.

  <Schema xmlns="https://schemas.microsoft.com/ado/2008/09/edm"
          xmlns:cg="https://schemas.microsoft.com/ado/2006/04/codegeneration"
          xmlns:store="https://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>

См. также

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

Основные понятия модели EDM
модель Entity Data