Using 元素 (CSDL)

以概念架构定义语言 (CSDL) 表示的 Using 元素导入其他命名空间中的概念模型的内容。 通过设置 Namespace 特性的值,您可以引用在其他概念模型中定义的实体类型、复杂类型和关联类型。 多个 Using 元素可以是 Schema 元素的子元素。

Bb738545.note(zh-cn,VS.100).gif注意:
CSDL 中的 Using 元素的作用与编程语言中的 using 语句并不完全类似。通过使用编程语言中的 using 语句导入命名空间,您不会影响原始命名空间中的对象。在 CSDL 中,导入的命名空间可以包含从原始命名空间中的实体类型导出的实体类型。这可能影响在原始命名空间中声明的实体集。有关实体集的更多信息,请参见 EntitySet 元素

Using 元素可以具有以下子元素:

适用的特性

下表介绍可应用于 Using 元素的特性。

特性名称 是否必需

Namespace

导入的命名空间的名称。

Alias

用于取代命名空间名称的标识符。 尽管此特性是必需的,但并不要求使用它来取代命名空间以限定对象名称。

Bb738545.note(zh-cn,VS.100).gif注意:
可以将任何数量的批注特性(自定义 XML 特性)应用于 Using 元素。然而,自定义特性可能不属于为 CSDL 保留的任何 XML 命名空间。任何两个自定义特性的完全限定名称都不能相同。

示例

下面的示例演示用于导入在其他位置定义的命名空间的 Using 元素。 请注意,所显示的 Schema 元素的命名空间为 BooksModelPublisher EntityType 上的 Address 属性是在 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>

另请参见

概念

实体框架概述
CSDL 规范
Schema 元素 (CSDL)

其他资源

CSDL、SSDL 和 MSL 规范
ADO.NET Entity Data Model Tools
Entity Data Model: Namespaces