Share via


Association-Element (CSDL)

Eine Zuordnung gibt eine logische Beziehung zwischen Entitäten im Entitätsdatenmodell (EDM) an. Eine Zuordnung wird im konzeptionellen Schema mithilfe der konzeptionellen Schemadefinitionssprache (CSDL) deklariert und definiert.

Die folgende Syntax zeigt Deklaration und Definition einer Zuordnung zwischen zwei Entitäten desselben Typs. Beide Enden der Zuordnung sind Employee-Entitäten. Ein Mitarbeiter ist der Manager, und der andere Mitarbeiter ist dem Manager unterstellt.

Die hier gezeigte Syntax enthält das Schema-Element mit dem Namespace und dem Alias des Adventure Works Human Resources Model, das definiert wird. Auch die Deklaration der Employee-Entität, die in der Association verwendet wird, ist enthalten.

<?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>

Das Association-Element legt eine logische Beziehung zwischen Employee-Entitäten fest. Dies wird durch die Type-Zuweisungen der End-Eigenschaften in der Association angegeben. Beide Enden der Zuordnung sind vom Typ Employee. Einer der Mitarbeiter ist durch das Role-Attribut einer End-Eigenschaft in der Association als Employee1 definiert. Das Multiplicity-Attribut der End-Attribute in diesem Beispiel gibt an, dass einem Employee, der ein Manager ist, eine beliebige Anzahl von Employee1-Instanzen unterstellt sein können. Die NavigationProperty in der Employee-Definition stellt die Verknüpfung zwischen einem Mitarbeiter, der Manager ist, und einem Mitarbeiter, der einem Manager unterstellt ist, dar.

Bei Typzuweisungen in Zuordnungen müssen vollqualifizierte Namen verwendet werden. In diesem Beispiel verwendet die Typzuweisung den Self-Alias für den AdventureWorksHRModel-Namespace.

Siehe auch

Konzepte

AssociationSet-Element (EntityContainer CSDL)
Association-Element (SSDL)
AssociationSetMapping-Element (MSL)
Das vollständige AdventureWorks-Modell (EDM)

Weitere Ressourcen

EDM-Spezifikationen