實體資料模型:命名空間
實體資料模型 (EDM) 的命名空間是抽象的容器,用於實體類型、複雜類型和關聯。 EDM 中的命名空間類似於程式設計語言中的命名空間:針對它們所包含的物件提供內容,並且提供方法讓名稱相同 (但包含在不同命名空間中) 的物件意義清楚。
範例
ADO.NET Entity Framework 會使用稱為概念結構定義語言 (CSDL) 的特定領域語言 (DSL) 來定義概念模型。 下列 CSDL 程式碼使用命名空間來識別在不同概念模型中定義的型別。 此範例定義的實體類型 (Publisher
) 具有從 Address
命名空間匯入的複雜類型屬性 (ExtendedBooksModel
)。 請注意,Using
項目代表已匯入命名空間。 亦請注意,Address
屬性的型別是利用其完整名稱 (ExtendedBooksModel.Address
) 來定義,表示此型別是在 ExtendedBooksModel
命名空間中定義的。
<Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm"
xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration"
xmlns:store="http://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>