Association 요소(SSDL)

EDM(엔터티 데이터 모델)에서는 메타데이터 스키마의 연결이 SSDL(저장소 스키마 정의 언어)로 정의된 엔터티 형식 간의 논리적 관계를 지정합니다.

메타데이터 스키마에 선언된 연결의 SSDL 구문은 CSDL(개념 스키마 정의 언어)에 사용되는 구문과 비슷하지만, SSDL 구문에는 FromRoleToRole을 지정하는 특성이 포함됩니다. 이러한 특성은 데이터베이스 테이블의 기본 키 및 외래 키에 해당합니다.

다음 스키마 예제에서는 Adventure Works의 인사 관리 대상 데이터베이스 파티션의 NamespaceAlias가 정의되는 Schema 요소를 포함합니다. 이 예제에서는 Employee_Employee_ManagerID 연결의 두 End 모두 Employee 엔터티이므로 EntityType 정의 하나만 필요합니다.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRTarget" Alias="Self"
        xmlns="https://schemas.microsoft.com/ado/2006/04/edm/ssdl">

  <EntityType Name="Employee">
    <Key>
      <PropertyRef Name="EmployeeID" />
    </Key>
    <Property Name="EmployeeID" Type="int" Nullable="false" />
    <Property Name="NationalIDNumber" Type="nvarchar" Nullable="false" MaxLength="15" />
    <Property Name="ContactID" Type="int" Nullable="false" />
    <Property Name="LoginID" Type="nvarchar" Nullable="false" MaxLength="256" />
    <Property Name="ManagerID" Type="int" />
<!- Some employee properties ommitted for brevity -->
  </EntityType>

  <Association Name="FK_Employee_Employee_ManagerID">
    <End Role="Employee" Type="Adventureworks.Store.Employee" Multiplicity="0..1" />
    <End Role="Employee1" Type="Adventureworks.Store.Employee" Multiplicity="*" />
    <ReferentialConstraint>
      <Principal Role="Employee">
        <PropertyRef Name="EmployeeID" />
      </Principal>
      <Dependent Role="Employee1">
        <PropertyRef Name="ManagerID" />
      </Dependent>
    </ReferentialConstraint>
  </Association>

Employee_Employee_ManagerID 연결에 사용되는 Employee 엔터티의 이 선언에서 Employee 엔터티의 속성은 저장소 모델의 데이터 형식(여기서는 SQL Server 형식)을 사용하여 지정됩니다.

Association 요소는 두 Employee 엔터티 간의 논리적 관계를 정의합니다. AssociationEnd 속성에서 Type 할당은 둘 다 Employee 엔터티입니다. 직원 중 한 명은 AssociationEnd 속성에서 Role 특성에 의해 Employee1로 지정됩니다.

연결에서 형식 할당은 정규화된 이름을 사용해야 합니다. 이 예제의 형식 할당에서는 AdventureWorksHRTarget 네임스페이스에 SelfAlias를 사용합니다.

AssociationEnd 특성에서 MulitiplicityEmployeee1이 0개 또는 1개 이상의 이 연결 인스턴스에 참여할 수 있음을 나타냅니다. 관리자는 여러 직원을 관리할 수 있으나, 관리되는 Employee1은 단 한 명의 관리자에게 보고할 수 있으며 따라서 이 형식의 연결 0개 또는 1개 이상에 참여하는 것이 가능합니다.

AssociationReferentialConstraintEmployee1DependentRole로, EmployeePrincipalRole로 지정합니다. 이 제약 조건은 Employee 데이터 테이블에서 외래 키 ManagerID에 해당합니다.

연결의 특성에 대한 자세한 내용은 다음 하위 항목을 참조하십시오.

Name(연결 SSDL)

Role 특성(연결 SSDL)

Type 특성(연결 SSDL)

Multiplicity 특성(연결 SSDL)

ReferentialConstraint 요소(연결 SSDL)

참고 항목

개념

AssociationSet 요소(EntityContainer SSDL)
Association 요소(CSDL)
AssociationSetMapping 요소(MSL)
ReferentialConstraint 요소(연결 SSDL)
AdventureWorks 전체 모델(EDM)