Association 元素 (CSDL)

关联指定 实体数据模型 (EDM) 中实体之间的逻辑关系。关联是使用概念性架构定义语言 (CSDL) 在概念性架构中声明和定义的。

下面的语法演示两个相同类型实体之间的关联的声明和定义。关联的两端都是员工实体。一端的员工是经理,另一端的员工是经理的下属。

此处所示的语法包括定义了 NamespaceAdventure Works Human Resources ModelAliasSchema 元素。还包括 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 赋值语法所指定)。关联的两端都是 Employee 类型。其中一端的员工由 AssociationEnd 属性 (Property) 的 Role 属性 (Attribute) 指定为 Employee1。在此示例中,End 属性的 Multiplicity 属性表示经理 Employee 可以管理任意数量的 Employee1 实例。Employee 定义中的 NavigationProperty 演示经理员工与下属员工之间的链接。

关联中的类型赋值必须使用完全限定名称。在此示例中,类型赋值使用 AdventureWorksHRModel 命名空间的 SelfAlias

另请参见

概念

AssociationSet 元素 (EntityContainer CSDL)
Association 元素 (SSDL)
AssociationSetMapping 元素 (MSL)
AdventureWorks 完整模型 (EDM)

其他资源

EDM 规范