Association-Element (CSDL)

Ein Association-Element definiert eine Beziehung zwischen zwei Entitätstypen. Eine Zuordnung muss die Entitätstypen, die in der Beziehung enthalten sind, und die mögliche Anzahl von Entitätstypen an den Enden der Beziehung angeben, die auch als Multiplizität bezeichnet wird. Die Multiplizität eines Zuordnungsendes kann über einen Wert von eins (1), null oder eins (0..1) oder vielen (*) verfügen. Diese Informationen werden in zwei untergeordneten End-Elementen angegeben.

Auf Entitätstypinstanzen an einem Ende einer Zuordnung kann über Navigationseigenschaften oder Fremdschlüssel zugegriffen werden, sofern sie für einen Entitätstyp verfügbar gemacht werden. Weitere Informationen finden Sie in NavigationProperty-Element, ReferentialConstraint-Element und Definieren und Verwalten von Beziehungen (Entity Framework).

In einer Anwendung stellt eine Instanz einer Zuordnung eine bestimmte Zuordnung zwischen Instanzen von Entitätstypen dar. Zuordnungsinstanzen werden logisch in einem Zuordnungssatz gruppiert. Weitere Informationen finden Sie in AssociationSet-Element.

Ein Association-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die für das Association-Element übernommen werden können.

Attributname Ist erforderlich Wert

Name

Ja

Der Name der Zuordnung.

Bb399734.note(de-de,VS.100).gifHinweis:
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das Association-Element übernommen werden.Benutzerdefinierte Attribute dürfen jedoch zu keinem XML-Namespace gehören, der für CSDL reserviert ist.Die vollqualifizierten Namen für zwei benutzerdefinierte Attribute dürfen nicht übereinstimmen.

Beispiel

Das folgende Beispiel zeigt ein Association-Element, das die CustomerOrders-Zuordnung definiert, sofern keine Fremdschlüssel für die Customer- und Order-Entitätstypen verfügbar gemacht wurden. Die Multiplicity-Werte für jedes End der Zuordnung geben an, dass viele Orders einem Customer zugeordnet sein können, aber nur ein Customer einer Order zugeordnet sein kann. Darüber hinaus gibt das OnDelete-Element an, dass alle Orders, die sich auf einen bestimmten Customer beziehen und in den ObjectContext geladen wurden, gelöscht werden, sobald der Customer gelöscht wird.

<Association Name="CustomerOrders">
  <End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
  <End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
        <OnDelete Action="Cascade" />
  </End>
</Association>

Das folgende Beispiel zeigt ein Association-Element, das die CustomerOrders-Zuordnung definiert, sofern Fremdschlüssel für die Customer- und Order-Entitätstypen verfügbar gemacht wurden. Wurden Fremdschlüssel verfügbar gemacht, wird die Beziehung zwischen den Entitäten durch ein ReferentialConstraint-Element verwaltet. Ein entsprechendes AssociationSetMapping-Element ist zur Zuordnung dieser Zuweisung zur Datenquelle nicht erforderlich.

<Association Name="CustomerOrders">
  <End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
  <End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
         <OnDelete Action="Cascade" />
  </End>
  <ReferentialConstraint>
       <Principal Role="Customer">
           <PropertyRef Name="Id" />
       </Principal>
       <Dependent Role="Order">
            <PropertyRef Name="CustomerId" />
        </Dependent>
  </ReferentialConstraint>
</Association>

Siehe auch

Konzepte

Übersicht über das Entity Framework
CSDL-Spezifikation
Schema-Element (CSDL)

Weitere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools
association type (Entity Data Model)