AssociationEnd-Element (MSL)
Das AssociationEnd-Element der Mapping-Spezifikationssprache (Mapping Specification Language, MSL) wird verwendet, wenn die Änderungsfunktionen eines Entitätstyps im konzeptionellen Modell gespeicherten Prozeduren in der zugrunde liegenden Datenbank zugeordnet werden. Wenn eine gespeicherte Änderungsprozedur einen Parameter akzeptiert, dessen Wert in einer Zuordnungseigenschaft enthalten ist, ordnet das AssociationEnd-Element den Eigenschaftswert dem Parameter zu. Weitere Informationen finden Sie im untenstehenden Beispiel.
Weitere Informationen zum Zuordnen von Änderungsfunktionen von Entitätstypen zu gespeicherten Prozeduren finden Sie unter ModificationFunctionMapping-Element (MSL) und Walkthrough: Mapping an Entity to Stored Procedures
Das AssociationEnd-Element kann die folgenden untergeordneten Elemente aufweisen:
Anwendbare Attribute
In der folgenden Tabelle werden die Attribute beschrieben, die auf das AssociationEnd-Element anwendbar sind.
Attributname | Ist erforderlich | Wert |
---|---|---|
AssociationSet |
Ja |
Der Name der Zuordnung, die zugeordnet wird. |
From |
Ja |
Der Wert des FromRole-Attributs der Navigationseigenschaft, die der Zuordnung entspricht, die zugeordnet wird. Weitere Informationen finden Sie unter NavigationProperty-Element (CSDL). |
To |
Ja |
Der Wert des ToRole-Attributs der Navigationseigenschaft, die der Zuordnung entspricht, die zugeordnet wird. Weitere Informationen finden Sie unter NavigationProperty-Element (CSDL). |
Beispiel
Betrachten Sie den folgenden Entitätstyp des konzeptionellen Modells:
<EntityType Name="Course">
<Key>
<PropertyRef Name="CourseID" />
</Key>
<Property Type="Int32" Name="CourseID" Nullable="false" />
<Property Type="String" Name="Title" Nullable="false" MaxLength="100"
FixedLength="false" Unicode="true" />
<Property Type="Int32" Name="Credits" Nullable="false" />
<NavigationProperty Name="Department"
Relationship="SchoolModel.FK_Course_Department"
FromRole="Course" ToRole="Department" />
</EntityType>
Betrachten Sie auch die folgende gespeicherte Prozedur:
CREATE PROCEDURE [dbo].[UpdateCourse]
@CourseID int,
@Title nvarchar(50),
@Credits int,
@DepartmentID int
AS
UPDATE Course SET Title=@Title,
Credits=@Credits,
DepartmentID=@DepartmentID
WHERE CourseID=@CourseID;
Um dieser gespeicherten Prozedur die Aktualisierungsfunktion der Course
-Entität zuzuordnen, müssen Sie einen Wert für den DepartmentID-Parameter angeben. Der Wert für DepartmentID
entspricht keiner Eigenschaft des Entitätstyps; er ist vielmehr in einer unabhängigen Zuordnung enthalten, deren Zuordnung hier angezeigt wird:
<AssociationSetMapping Name="FK_Course_Department"
TypeName="SchoolModel.FK_Course_Department"
StoreEntitySet="Course">
<EndProperty Name="Course">
<ScalarProperty Name="CourseID" ColumnName="CourseID" />
</EndProperty>
<EndProperty Name="Department">
<ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
</EndProperty>
</AssociationSetMapping>
Im folgenden Code wird das AssociationEnd-Element gezeigt, das verwendet wurde, um der DepartmentID-Eigenschaft der FK_Course_Department-Zuordnung der gespeicherten Prozedur UpdateCourse zuzuordnen (der die Aktualisierungsfunktion des Course-Entitätstyps zugeordnet ist):
<EntitySetMapping Name="Courses">
<EntityTypeMapping TypeName="SchoolModel.Course">
<MappingFragment StoreEntitySet="Course">
<ScalarProperty Name="Credits" ColumnName="Credits" />
<ScalarProperty Name="Title" ColumnName="Title" />
<ScalarProperty Name="CourseID" ColumnName="CourseID" />
</MappingFragment>
</EntityTypeMapping>
<EntityTypeMapping TypeName="SchoolModel.Course">
<ModificationFunctionMapping>
<UpdateFunction FunctionName="SchoolModel.Store.UpdateCourse">
<AssociationEnd AssociationSet="FK_Course_Department"
From="Course" To="Department">
<ScalarProperty Name="DepartmentID"
ParameterName="DepartmentID"
Version="Current" />
</AssociationEnd>
<ScalarProperty Name="Credits" ParameterName="Credits"
Version="Current" />
<ScalarProperty Name="Title" ParameterName="Title"
Version="Current" />
<ScalarProperty Name="CourseID" ParameterName="CourseID"
Version="Current" />
</UpdateFunction>
</ModificationFunctionMapping>
</EntityTypeMapping>
</EntitySetMapping>
Siehe auch
Weitere Ressourcen
CSDL-, SSDL- und MSL-Spezifikationen
Modellieren und Zuordnen (Entity Framework)