Entity Data Model:名前空間
Entity Data Model (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>