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:
Documentation (zero elementi o un elemento consentito)
Elementi Annotation (zero o più elementi consentiti)
Attributi applicabili
Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento Using.
Nome attributo | È obbligatorio | Valore |
---|---|---|
Namespace |
Sì |
Nome dello spazio dei nomi importato. |
Alias |
Sì |
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 Publisher
EntityType è 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)
Altre risorse
Specifiche CSDL, SSDL e MSL
ADO.NET Entity Data Model Tools
Entity Data Model: Namespaces