Share via


Elemento Using (CSDL)

L'elemento Using in Conceptual Schema Definition Language (CSDL) importa il contenuto di un modello concettuale che esiste in uno spazio dei nomi diverso.Impostando il valore dell'attributo Namespace, è possibile creare riferimenti a tipi di entità, tipi complessi e tipi di associazione definiti in un altro modello concettuale.Più elementi Using possono essere figli di un elemento Schema.

Nota

L'elemento Using in CSDL non funziona esattamente come un'istruzione using in un linguaggio di programmazione.Quando si importa uno spazio dei nomi con un'istruzione using in un linguaggio di programmazione, non si influisce sugli oggetti nello spazio dei nomi originale.In CSDL, uno spazio dei nomi importato può contenere un tipo di entità derivato da un tipo di entità nello spazio dei nomi originale.Ciò può influire sui set di entità dichiarati nello spazio dei nomi originale.Per ulteriori informazioni sui set di entità, vedere Elemento EntitySet.

L'elemento Using può includere gli elementi figlio seguenti:

Attributi applicabili

Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Using.

Nome attributo

È obbligatorio

Valore

Namespace

Nome dello spazio dei nomi importato.

Alias

Identificatore utilizzato al posto del nome dello spazio dei nomi.Anche se questo attributo è obbligatorio, non è necessario utilizzarlo al posto del nome dello spazio dei nomi per qualificare nomi di oggetti.

Nota

È possibile applicare un qualsiasi numero di attributi di annotazione (attributi XML personalizzati) all'elemento Using.Tuttavia, gli attributi personalizzati non possono appartenere ad alcuno spazio dei nomi XML riservato a CSDL.I nomi completi per due attributi personalizzati qualsiasi non possono essere uguali.

Esempio

Nell'esempio seguente viene mostrato l'utilizzo dell'elemento Using per importare uno spazio dei nomi definito altrove.Si noti che lo spazio dei nomi per l'elemento Schema mostrato è BooksModel.La proprietà Address in PublisherEntityType è un tipo complesso che è definito nello spazio dei nomi ExtendedBooksModel (importato con l'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>

Vedere anche

Concetti

Panoramica su Entity Framework

Specifiche CSDL

Elemento Schema (CSDL)

Entity Data Model: spazi dei nomi

Altre risorse

Specifiche CSDL, SSDL e MSL

Strumenti di ADO.NET Entity Data Model