エンティティ コンテナー

"エンティティ コンテナー" は、エンティティ セットアソシエーション セット、および関数インポートの論理グループです。

概念モデルで定義するエンティティ コンテナーは、次の条件を満たしている必要があります。

  • 1 つ以上のエンティティ コンテナーを各概念モデルに定義すること。

  • 各概念モデル内のエンティティ コンテナー名が一意であること。

エンティティ コンテナーは、1 つ以上の名前空間に定義されたエンティティ型またはアソシエーションを使用するエンティティ セットまたはアソシエーション セットを定義できます。 詳しくは、「Entity Data Model: 名前空間」をご覧ください。

下のダイアグラムは、BookPublisher、および Author という 3 つのエンティティ型の概念モデルを示しています。 詳細については、次の例を参照してください。

3 種類のエンティティを持つモデルの例

ダイアグラムにはエンティティ コンテナー情報が示されていませんが、概念モデルにはエンティティ コンテナーを定義する必要があります。 ADO.NET Entity Framework では、概念スキーマ定義言語 (CSDL) と呼ばれる DSL を使用して概念モデルを定義します。 次の CSDL は、上のダイアグラムに示された概念モデルのエンティティ コンテナーを定義しています。 エンティティ コンテナー名は XML 属性に定義されています。

<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>

関連項目