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


Элемент Using (язык CSDL)

Элемент Using в языке CSDL импортирует содержимое концептуальной модели в другом пространстве имен. Задавая атрибут Namespace, можно ссылаться на типы сущностей, сложные типы и типы ассоциаций, определенные в другой концептуальной модели. Дочерними по отношению к элементу Schema могут быть несколько элементов Using.

Bb738545.note(ru-ru,VS.100).gifПримечание
Элемент Using языка CSDL работает несколько иначе, чем инструкция using в языке программирования.При импорте пространства имен с помощью инструкции using в языке программирования объекты в исходном пространстве имен не затрагиваются.В языке CSDL импортированное пространство имен может содержать тип сущности, производный от типа сущности в исходном пространстве имен.Это может влиять на наборы сущностей, объявленные в исходном пространстве имен.Дополнительные сведения о наборах сущностей см. в разделе Элемент EntitySet.

Элемент Using может иметь следующие дочерние элементы.

  • Documentation (допустимое количество элементов — ноль или один)

  • Элементы Annotation (допустимое количество элементов — ноль или больше)

Применимые атрибуты

В следующей таблице описываются атрибуты, которые можно применить к элементу Using.

Имя атрибута Необходимо Значение

Namespace

Да

Имя импортируемого пространства имен.

Alias

Да

Идентификатор, используемый в качестве имени пространства имен. Хотя этот атрибут является обязательным, необязательно, чтобы он использовался вместо имени пространства имен при указании имен объектов.

Bb738545.note(ru-ru,VS.100).gifПримечание
К элементу Using может быть применено любое количество атрибутов annotation (настраиваемых атрибутов XML).Однако настраиваемые атрибуты не могут принадлежать к любому пространству имен XML, зарезервированному для CSDL.Полные имена любых двух настраиваемых атрибутов не могут совпадать.

Пример

В следующем примере демонстрируется использование элемента Using для импорта пространства имен, определенного в другом месте. Обратите внимание, что для показанного элемента Schema пространством имен является BooksModel. Свойство Address в Publisher EntityType — это сложный тип, определенный в пространстве имен ExtendedBooksModel (импортированном с элементом Using).

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

См. также

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

Общие сведения о платформе Entity Framework
Спецификация языка CSDL
Элемент Schema (CSDL)

Другие ресурсы

Спецификации языка CSDL, SSDL и MSL
ADO.NET Entity Data Model Tools
Entity Data Model: Namespaces