共用方式為


Association 項目 (SSDL)

在 實體資料模型 (EDM) 中,中繼資料結構描述內的關聯會指定存放結構定義語言 (SSDL) 內所定義之實體類型之間的邏輯關聯性。

中繼資料結構描述內所宣告之關聯的 SSDL 語法類似於概念結構定義語言 (CSDL) 中所使用的語法,不過 SSDL 語法包含了指定 FromRoleToRole 的屬性。這些屬性相當於資料庫資料表中的主索引鍵和外部索引鍵。

下列結構描述範例包含 Schema 項目,而且包含定義之 Adventure Works 人力資源目標資料庫資料分割的 NamespaceAlias。此範例只需要一個 EntityType 定義,因為 Employee_Employee_ManagerID 關聯的兩端都是 Employee 實體。

<?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 屬性 (Property) 的 Role 屬性 (Attribute) 指定為 Employee1

關聯中的型別指派是完整限定名稱。在此範例中,型別指派會針對 AdventureWorksHRTarget 命名空間使用 SelfAlias

這個 AssociationEnd 屬性的 Mulitiplicity 表示 Employeee1 可參與此關聯的零個或多個執行個體;一位經理可管理數個員工,但是被管理的 Employee1 只能向一位經理報告,因此可參與此型別的零個或一個關聯。

Association 上的 ReferentialConstraint 會將 Employee1 指定為 DependentRole,並將 Employee 指定為 PrincipalRole。此限制式對應到 Employee 資料表中的 ManagerID 外部索引鍵。

如需關聯之屬性的詳細資訊,請參閱下列副主題:

Name (關聯 SSDL)

Role 屬性 (關聯 SSDL)

Type 屬性 (關聯 SSDL)

Multiplicity 屬性 (關聯 SSDL)

ReferentialConstraint 項目 (關聯 SSDL)

另請參閱

概念

AssociationSet 項目 (EntityContainer SSDL)
Association 項目 (CSDL)
AssociationSetMapping 項目 (MSL)
ReferentialConstraint 項目 (關聯 SSDL)
AdventureWorks 完整模型 (EDM)