Compartir a través de


Using (Elemento) (CSDL)

En el lenguaje de definición de esquemas conceptuales (CSDL), el elemento Using importa el contenido de un modelo conceptual que ya existe en un espacio de nombres diferente.Si establece el valor del atributo Namespace, podrá hacer referencia a los tipos de entidad, tipos complejos y tipos de asociación definidos en otro modelo conceptual.Un elemento Schema puede tener varios elementos Using secundarios.

Nota

El elemento Using en CSDL no funciona exactamente como una instrucción using en un lenguaje de programación.Si importa un espacio de nombres con una instrucción using en un lenguaje de programación, no afectará a los objetos del espacio de nombres original.En CSDL, un espacio de nombres importado puede contener un tipo de entidad derivado de un tipo de entidad del espacio de nombres original.Esto puede afectar a los conjuntos de entidades declarados en el espacio de nombres original.Para obtener más información sobre los conjuntos de entidades, vea EntitySet (Elemento).

El elemento Using puede tener los elementos secundarios siguientes:

Atributos aplicables

En la tabla siguiente se describen los atributos que se pueden aplicar al elemento Using.

Nombre de atributo

Es necesario

Valor

Namespace

Nombre del espacio de nombres importado.

Alias

Un identificador usado en lugar del nombre del espacio de nombres.Aunque este atributo es obligatorio, no es necesario usarlo en lugar del nombre del espacio de nombres para calificar los nombres de los objetos.

Nota

Se puede aplicar cualquier número de atributos de anotación (atributos XML personalizados) al elemento Using.Sin embargo, es posible que los atributos personalizados no pertenezcan a ningún espacio de nombres XML reservado para CSDL.Dos atributos personalizados cualesquiera no pueden tener nombres completos idénticos.

Ejemplo

En el ejemplo siguiente se muestra cómo usar el elemento Using para importar un espacio de nombres definido en otra parte.Observe que el espacio de nombres para el elemento Schema mostrado es BooksModel.La propiedad Address del elemento EntityType del espacio de nombres Publisher es un tipo complejo definido en el espacio de nombres ExtendedBooksModel(importado con el elemento 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>

Vea también

Conceptos

Información general de Entity Framework

Especificación CSDL

Schema (Elemento) (CSDL)

Entity Data Model: espacios de nombres

Otros recursos

Especificaciones CSDL, SSDL y MSL

Herramientas de ADO.NET Entity Data Model