Using 項目 (CSDL)
概念結構定義語言 (CSDL) 中的 Using 項目可匯入於不同命名空間中存在之概念模型的內容。 經由設定 Namespace 屬性的值,您可以參考於其他概念模型中定義的實體類型、複雜型別和關聯類型。 Schema 項目的子項目可以是一個以上的 Using 項目。
注意: |
---|
CSDL 中之 Using 項目的功能,與程式語言中的 using 陳述式不完全相同。經由匯入命名空間和程式語言的 using 陳述式,您不會影響原始命名空間中的物件。在 CSDL 中,匯入的命名空間可以包含實體類型,該實體類型是衍生自原始命名空間中的實體類型。這會影響在原始命名空間中宣告的實體集。如需實體集的詳細資訊,請參閱 EntitySet 項目。 |
Using 項目可以擁有下列子項目:
Documentation (可允許零或一個項目)
Annotation 項目 (可允許零或多個項目)
適用屬性
以下資料表描述的屬性可套用至 Using 項目。
屬性名稱 | 必要 | 值 |
---|---|---|
Namespace |
是 |
匯入的命名空間名稱。 |
Alias |
是 |
用來取代命名空間名稱的識別項。 雖然這個屬性是必要的,但是不必使用此屬性取代命名空間名稱,來限定物件名稱。 |
注意: |
---|
任何數量的附註屬性 (自訂 XML 屬性) 都可以套用至 Using 項目。不過,自訂屬性不可屬於任何 XML 命名空間,這是保留供 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>
另請參閱
概念
Entity Framework 概觀
CSDL 規格
Schema 項目 (CSDL)
其他資源
CSDL、SSDL 和 MSL 規格
ADO.NET Entity Data Model Tools
Entity Data Model: Namespaces