次の方法で共有


EntityContainer 要素 (CSDL)

概念スキーマ定義言語 (CSDL) の EntityContainer 要素は、エンティティ セット、アソシエーション セット、および関数インポートの論理コンテナーです。概念モデルのエンティティ コンテナーは、EntityContainerMapping 要素を通じてストレージ モデルのエンティティ コンテナーにマップされます。ストレージ モデルのエンティティ コンテナーは、データベースの構造を記述します。エンティティ セットはデータベースのテーブル、アソシエーション セットは外部キー、関数インポートはストアド プロシージャをそれぞれ記述します。詳細については、「EntityContainer 要素 (SSDL)」を参照してください。

EntityContainer 要素は、0 個または 1 個の Documentation 要素を格納することができます。Documentation 要素が存在する場合、その位置は、どの EntitySet 要素、AssociationSet 要素、および FunctionImport 要素よりも前でなければなりません。

EntityContainer 要素には、ここに示した順序で次の子要素を 0 個以上含めることができます。

EntityContainer 要素を拡張して、同じ名前空間内にある別の EntityContainer の内容を格納することができます。別の EntityContainer の内容を参照元 EntityContainer 要素に格納するには、Extends 属性の値を格納する EntityContainer 要素の名前に設定します。格納された EntityContainer 要素の子要素はすべて、参照元 EntityContainer 要素の子要素として扱われます。

適用可能な属性

Using 要素に適用できる属性を次の表に示します。

属性名

必須

Name

はい

エンティティ コンテナー名。

Extends

いいえ

同じ名前空間内にある別のエンティティ コンテナーの名前 (名前空間の詳細については、「Schema 要素 (CSDL)」を参照してください)。

注意

EntityContainer 要素には、任意数の annotation 属性 (カスタム XML 属性) を適用できます。ただし、カスタム属性は CSDL 用に予約されたどの XML 名前空間にも属さない場合があります。カスタム属性の完全修飾名は一意である必要があります。

次の例に、3 つのエンティティ セットと 2 つのアソシエーション セットを定義する EntityContainer 要素を示します。

<EntityContainer Name="BooksContainer" >
  <EntitySet Name="Books" EntityType="BooksModel.Book" />
  <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
  <EntitySet Name="Authors" EntityType="BooksModel.Author" />
  <AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Publisher" EntitySet="Publishers" />
  </AssociationSet>
  <AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
    <End Role="Book" EntitySet="Books" />
    <End Role="Author" EntitySet="Authors" />
  </AssociationSet>
</EntityContainer>

関連項目

概念

エンティティ フレームワークの概要

CSDL 仕様

Schema 要素 (CSDL)

エンティティ コンテナー

その他の技術情報

CSDL、SSDL、および MSL 仕様

ADO.NET Entity Data Model ツール