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


Модель данных сущности: пространства имен

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

Пример

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

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

См. также