Using 要素 (CSDL)
概念スキーマ定義言語 (CSDL) の Using 要素は、別の名前空間に存在する概念モデルのコンテンツをインポートします。 Namespace 属性の値を設定することにより、別の概念モデルで定義されているエンティティ型、複合型、およびアソシエーション型を参照することができます。 1 つの Schema 要素に対して複数の Using 要素を子にすることができます。
注 : |
---|
CSDL の Using 要素の機能は、プログラミング言語における using ステートメントとは完全に同じではありません。プログラミング言語での using ステートメントで名前空間をインポートしても、元の名前空間のオブジェクトが影響を受けることはありません。CSDL では、インポートされた名前空間に、元の名前空間にあるエンティティ型から派生したエンティティ型が含まれている場合があります。これは、元の名前空間で宣言されたエンティティ セットに影響を及ぼすことがあります。エンティティ セットの詳細については、「EntitySet 要素」を参照してください。 |
The Using element can have the following child elements:
Documentation (0 または 1 つの要素を含めることができます)。
Annotation 要素 (0 個以上の要素を含めることができます)。
適用可能な属性
The table below describes the attributes can be applied to the Using element.
属性名 | 必須 | Value |
---|---|---|
Namespace |
有効 |
インポートされる名前空間の名前。 |
Alias |
有効 |
名前空間の名前の代わりに使用される識別子。 この属性は必須ですが、オブジェクト名を修飾するために名前空間名の代わりに使用することは必須ではありません。 |
注 : |
---|
Using 要素には、任意の数の annotation 属性 (カスタム XML 属性) を適用できます。However, custom attributes may not belong to any XML namespace that is reserved for CSDL.カスタム属性の完全修飾名は一意である必要があります。 |
例
次の例は、Using 要素を使用して、他の場所で定義された名前空間をインポートする方法を示すものです。 示されている Schema 要素の名前空間が BooksModel
であることに注目してください。 Publisher
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