End-Element (CSDL)
Das End-Element in konzeptioneller Schemadefinitionssprache (CSDL) kann ein untergeordnetes Element des Association-Elements oder des AssociationSet-Elements sein. In beiden Fällen unterscheiden sich die Rolle und die anwendbaren Attribute des End-Elements.
Das End-Element als untergeordnetes Objekt des Association-Elements
Ein End-Element (als untergeordnetes Element des Association-Elements) identifiziert an einem Ende einer Zuordnung den Entitätstyp und die Anzahl der Entitätstypinstanzen, die an diesem Ende einer Zuordnung existieren können. Zuordnungsenden werden als Teil einer Zuordnung definiert. Eine Zuordnung muss genau zwei Zuordnungsenden aufweisen. 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).
Ein End-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (kein (null) oder ein Element)
OnDelete (kein (null) oder ein Element)
Anmerkungselemente (kein Element (null) oder mehrere Elemente)
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das End-Element übernommen werden können, wenn es das untergeordnete Element eines Association-Elements ist.
Attributname | Ist erforderlich | Wert |
---|---|---|
Type |
Ja |
Der Name des Entitätstyps an einem Ende der Zuordnung. |
Role |
Nein |
Der Name für das Zuordnungsende. Wird kein Name angegeben, wird der Name des Entitätstyps am Zuordnungsende verwendet. |
Multiplicity |
Ja |
1, 0..1 oder * abhängig von der Anzahl der Entitätstypinstanzen am Ende der Zuordnung.
|
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) wird kann für das End-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 enthält ein Association-Element, durch das die CustomerOrders-Zuordnung definiert wird. 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 End-Element als untergeordnetes Objekt des AssociationSet-Elements
Das End-Element gibt ein Ende des Zuordnungssatzes an. Das AssociationSet-Element muss zwei End-Elemente enthalten. Die in einem End-Element enthaltenen Informationen werden beim Zuordnen eines Zuordnungssatzes zu einer Datenquelle verwendet. Weitere Informationen finden Sie unter AssociationSetMapping-Element (MSL) und EndProperty-Element (MSL).
Ein End-Element kann die folgenden untergeordneten Elemente aufweisen (der vorliegenden Reihenfolge entsprechend):
Dokumentation (kein (null) oder ein Element)
Anmerkungselemente (kein Element (null) oder mehrere Elemente)
Hinweis: |
---|
Anmerkungselemente müssen an alle anderen untergeordneten Elemente angereiht werden.Anmerkungselemente sind nur in konzeptionellen Modellen für Anwendungen zulässig, die auf .NET Framework, Version 4 oder später, abzielen.Der XML-Namespace für diese Modelle ist https://schemas.microsoft.com/ado/2008/09/edm. |
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die für das End-Element übernommen werden können, wenn es sich dabei um das untergeordnete Element eines AssociationSet-Elements handelt.
Attributname | Ist erforderlich | Wert |
---|---|---|
EntitySet |
Ja |
Der Name des EntitySet-Elements, der ein Ende des übergeordneten AssociationSet-Elements definiert. Das EntitySet-Element muss im gleichen Entitätscontainer wie das übergeordnete AssociationSet-Element definiert werden. |
Role |
Nein |
Der Name des Endes des Zuordnungssatzes. Wird das Role-Attribut nicht verwendet, ist der Name des Zuordnungssatzendes der Name des Entitätssatzes. |
Hinweis: |
---|
Eine beliebige Anzahl von Anmerkungsattributen (benutzerdefinierte XML-Attribute) kann für das End-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 EntityContainer-Element mit zwei AssociationSet-Elementen, die jeweils zwei End-Elemente aufweisen:
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
</EntityContainer>
Siehe auch
Konzepte
Übersicht über das Entity Framework
CSDL-Spezifikation
Schema-Element (CSDL)
EntityContainer-Element (CSDL)
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
ADO.NET Entity Data Model Tools
association end (Entity Data Model)
association set (Entity Data Model)
association set end (Entity Data Model)