次の方法で共有


EntityContainer 要素 (SSDL)

ストア スキーマ定義言語 (SSDL) で定義された EntityContainer は、エンティティ データ モデル (EDM) を使用して定義したオブジェクト モデルに基づいて構築されるアプリケーションのデータを永続化するコンテナを記述するメタデータです。EntityContainer は、通常、SQL Server などのリレーショナル データベース管理システム (RDBMS) のデータベースです。

SSDL スキーマの名前空間の名前と、この名前空間に含まれる EntityContainer 要素は、概念スキーマ定義言語 (CSDL) スキーマの対応する名前空間の名前と、この名前空間に含まれる EntityContainer 要素にマップされます。XML 階層では、スキーマに EntityContainer が定義されている場合でも、EntityContainer 要素は Schema 要素から独立しています。これは、エンティティ コンテナをストレージにマッピングする上で重要なことです。マッピング ファイルでは、EntityContainer の完全修飾名にスキーマの名前空間の名前は含まれません。

EntityContainer のマッピングの詳細については、「EntityContainerMapping 要素 (MSL)」を参照してください。

SSDL 構文は、EDM に基づいて構築されたアプリケーションで使用されるストレージ モデルを定義するメタデータです。次の例で宣言されている EntityContainer はデータベース オブジェクトです。このエンティティ コンテナに含まれている各エンティティ セットは、Adventure Works データベースの Human Resources パーティションのテーブルを表します。次の構文には、従業員、部門、従業員の住所、従業員の履歴などのエンティティ セットが含まれています。HumanResourcesEntityContainer は、AdventureWorksHRTarget 名前空間の一部として定義されています。次の構文に含まれている別名 Self はすべて、ビルド プロセス時にこの名前空間の名前に展開されます。

  <EntityContainer Name="HumanResources">
    <EntitySet Name="Department" EntityType="Self.Department" />
    <EntitySet Name="Employee" EntityType="Self.Employee" />
    <EntitySet Name="EmployeeAddress" EntityType="Self.EmployeeAddress" />
    <EntitySet Name="EmployeeDepartmentHistory"
                    EntityType="Self.EmployeeDepartmentHistory" />
    <EntitySet Name="EmployeePayHistory"
                              EntityType="Self.EmployeePayHistory" />
    <EntitySet Name="JobCandidate" EntityType="Self.JobCandidate" />
    <EntitySet Name="Shift" EntityType="Self.Shift" />
    <AssociationSet Name="FK_Employee_Employee_ManagerID"
        Association="Self.FK_Employee_Employee_ManagerID">
      <End Role="Employee" EntitySet="Employee" />
      <End Role="Employee1" EntitySet="Employee" />
    </AssociationSet>
    <AssociationSet Name="JobCandidate_Employee_EmployeeID"
             Association="Self.FK_JobCandidate_Employee_EmployeeID">
      <End Role="Employee" EntitySet="Employee" />
      <End Role="JobCandidate" EntitySet="JobCandidate" />
    </AssociationSet>
  </EntityContainer>

この EntityContainer で定義されているエンティティ セットおよびアソシエーション セットの詳細については、このセクションの以下のトピックを参照してください。

Name 属性 (EntityContainer SSDL)

EntitySet 要素 (EntityContainer SSDL)

AssociationSet 要素 (EntityContainer SSDL)

参照

概念

エンティティ セット (EDM)
アソシエーション セット (EDM)
EntityContainerMapping 要素 (MSL)
AdventureWorks Complete Model (EDM)