Élément Using (CSDL)

L'élément Using dans le langage CSDL (Conceptual Schema Definition Language) importe le contenu d'un modèle conceptuel qui existe dans un espace de noms différent.En définissant la valeur de l'attribut Namespace, vous pouvez faire référence à des types d'entités, types complexes et types d'association définis dans un autre modèle conceptuel.Plusieurs éléments Using peuvent être des enfants d'un élément Schema.

Notes

L'élément Using dans le langage CSDL ne fonctionne pas exactement comme une instruction using dans un langage de programmation.En important un espace de noms à l'aide d'une instruction using dans un langage de programmation, vous n'affectez pas les objets dans l'espace de noms d'origine.Dans le langage CSDL, un espace de noms importé peut contenir un type d'entité dérivé d'un type d'entité figurant dans l'espace de noms d'origine.Cela peut affecter les jeux d'entités déclarés dans l'espace de noms d'origine.Pour plus d'informations sur les jeux d'entités, consultez l'élément EntitySet.

L'élément Using peut avoir les éléments enfants suivants :

Attributs applicables

Le tableau ci-dessous décrit les attributs qui peuvent s'appliquer à l'élément Using.

Nom d'attribut

Requis

Value

Namespace

Oui

Nom de l'espace de noms importé.

Alias

Oui

Identificateur utilisé à la place du nom de l'espace de noms.Bien que cet attribut soit obligatoire, il n'est pas nécessaire qu'il soit utilisé à la place du nom de l'espace de noms pour qualifier les noms d'objets.

Notes

Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément Using.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage CSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques.

Exemple

L'exemple suivant illustre l'élément Using, utilisé pour importer un espace de noms défini ailleurs.Notez que l'espace de noms de l'élément Schema de l'exemple est BooksModel.La propriété Address sur PublisherEntityType est un type complexe défini dans l'espace de noms ExtendedBooksModel (importé avec l'élément 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>

Voir aussi

Concepts

Vue d'ensemble d'Entity Framework

Spécification CSDL

Élément Schema (CSDL)

Entity Data Model : espaces de noms

Autres ressources

Spécifications CSDL, SSDL et MSL

ADO.NET Entity Data Model Tools