次の方法で共有


AssociationSet 要素 (EntityContainer CSDL)

エンティティ データ モデル (EDM) では、概念スキーマ定義言語 (CSDL) の AssociationSet 要素が、概念スキーマから構築されるクラス内のアソシエーションを指定します。

概念スキーマから構築されるオブジェクト モデルには、そのモデルに基づいて構築されたアプリケーションのデータを格納するために、プログラミング可能なクラスとストレージ構造の両方が必要です。マッピング スキーマ言語 (MSL) の AssociationSetMapping は、CSDL で定義された AssociationSet を、ストレージ構造を記述する SSDL の AssociationSet に関連付けます。

次の CSDL 構文では、Employee_Employee_ManagerID という名前の AssociationSet を宣言しています。この AssociationSet は、HumanResources という名前の EntityContainer の一部です。この EntityContainerAdventureWorksHRModel スキーマで定義されていますが、EntityContainer は独立した要素です。AssociationSet 要素は Name を割り当て、このセットの指定で使用されているアソシエーションの AssociationType を識別します。

プログラミング オブジェクト モデルの構築時、Employee_Employee_ManagerID 型のエンティティはアプリケーション コードによってインスタンス化できます。完全を期すために、AssociationType は、EntityContainerAssociationSet の後に宣言します。

  <EntityContainer Name="HumanResources">
    <AssociationSet Name="Employee_Employee_ManagerID" Association="
                 AdventureWorksHRModel.Employee_Employee_ManagerID">
      <End Role="Employee" EntitySet="Employee" />
      <End Role="EmployeeManager" EntitySet="Employee" />
    </AssociationSet>
  </EntityContainer>
  <Association Name="FK_Employee_Employee_ManagerID">
    <End Role="Employee" Type="Self.Employee" Multiplicity="0..1" />
    <End Role="Employee63" Type="Self.Employee" Multiplicity="*" />
  </Association>

参照

概念

AssociationSet 要素 (EntityContainer SSDL)
EntitySetMapping 要素 (MSL)
エンティティ セット (EDM)
アソシエーション セット (EDM)