다음을 통해 공유


Association 요소(CSDL)

연결은 EDM(엔터티 데이터 모델)의 엔터티 간의 논리적 관계를 지정합니다. 연결은 CSDL(개념 스키마 정의 언어)을 사용하여 개념 스키마에서 선언 및 정의됩니다.

다음 구문에서는 동일한 형식의 두 엔터티 간 연결의 선언과 정의를 보여 줍니다. 연결의 두 End는 모두 직원 엔터티입니다. 한 직원은 관리자이고 다른 직원은 관리자의 부하 직원입니다.

다음 구문에는 정의되는 Adventure Works Human Resources ModelNamespaceAlias가 있는 Schema 요소가 포함됩니다. 뿐만 아니라 Association에서 사용된 Employee 엔터티에 대한 선언도 포함됩니다.

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

  <EntityType Name="Employee">
    <Key>
      <PropertyRef Name="EmployeeID" />
    </Key>
    <Property Name="EmployeeID" Type="Int32" Nullable="false" />
    <Property Name="NationalIDNumber" Type="String" Nullable="false" />
    <Property Name="LoginID" Type="String" Nullable="false" />
    <Property Name="Title" Type="String" Nullable="false" />
    <Property Name="BirthDate" Type="DateTime" Nullable="false" />
    <Property Name="Gender" Type="String" Nullable="false" />
    <Property Name="HireDate" Type="DateTime" Nullable="false" />
    <Property Name="SalariedFlag" Type="Boolean" Nullable="false" />
    <Property Name="ModifiedDate" Type="DateTime" Nullable="false" />
<!- Some employee properties ommitted for brevity -->

    <NavigationProperty Name="Employee1"
        Relationship="Adventureworks.FK_Employee_Employee_ManagerID"
        FromRole="Employee" ToRole="Employee1" />

  </EntityType>

  <Association Name="Employee_Employee_ManagerID">
    <End Role="Employee" Type="Self.Employee" Multiplicity="0..1" />
    <End Role="Employee1" Type="Self.Employee"
                                              Multiplicity="*" />
  </Association>

Association 요소는 Employee 엔터티 간의 논리적 관계를 지정하며, 이 관계는 AssociationEnd 속성에 대한 Type 할당으로 나타납니다. 연결의 두 End는 모두 Employee 형식입니다. 둘 중 한 직원은 Association에서 End 속성의 Role 특성에 의해 Employee1로 지정됩니다. 이 예제에서 End 특성의 Multiplicity 특성은 관리자인 EmployeeEmployee1 인스턴스를 원하는 수만큼 관리할 수 있음을 나타냅니다. Employee 정의에서 NavigationProperty는 관리자인 직원과 관리자의 부하 직원 사이의 링크를 보여 줍니다.

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

참고 항목

개념

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

기타 리소스

EDM 사양