Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das ModificationFunctionMapping-Element der Mapping-Spezifikationssprache (Mapping Specification Language, MSL) ordnet die Insert-, Update- und Delete-Funktionen eines Entitätstyps des konzeptionellen Modells gespeicherten Prozeduren in der zugrunde liegenden Datenbank zu. Das ModificationFunctionMapping-Element kann auch die Insert- und Delete-Funktionen für m:n-Zuordnungen im konzeptionellen Modell gespeicherten Prozeduren in der zugrunde liegenden Datenbank zuordnen. Gespeicherte Prozeduren, denen Änderungsfunktionen zugeordnet werden, müssen im Speichermodell deklariert werden. Weitere Informationen finden Sie unter Function-Element (SSDL).
Hinweis: |
|---|
| Wenn Sie nicht alle drei Einfüge-, Aktualisierungs- und Löschvorgänge eines Entitätstyps gespeicherten Prozeduren zuordnen, schlagen die nicht zugeordneten Vorgänge bei der Ausführung zur Laufzeit fehl, und es wird eine Ausnahme des Typs UpdateException ausgelöst. |
Hinweis: |
|---|
| Wenn die Änderungsfunktionen für eine Entität in einer Vererbungshierarchie gespeicherten Prozeduren zugeordnet werden, dann müssen die Änderungsfunktionen für alle Typen in der Hierarchie gespeicherten Prozeduren zugeordnet werden. |
Das ModificationFunctionMapping-Element kann ein untergeordnetes Element des EntityTypeMapping-Elements oder des AssociationSetMapping-Elements sein.
Das ModificationFunctionMapping-Element kann die folgenden untergeordneten Elemente aufweisen:
DeleteFunction (kein (null) oder ein Element)
InsertFunction (kein (null) oder ein Element)
UpdateFunction (kein (null) oder ein Element)
Auf das ModificationFunctionMapping-Element sind keine Attribute anwendbar.
Beispiel
Im folgenden Beispiel wird die Zuordnung des People-Entitätssatzes im Modell "School" gezeigt. Zusätzlich zur Spaltenzuordnung für den Person-Entitätstyp wird die Zuordnung der Insert-, Update- und Delete-Funktionen des Person-Typs gezeigt. Die Funktionen, denen sie zugeordnet werden, sind im Speichermodell deklariert.
<EntitySetMapping Name="People">
<EntityTypeMapping TypeName="SchoolModel.Person">
<MappingFragment StoreEntitySet="Person">
<ScalarProperty Name="PersonID" ColumnName="PersonID" />
<ScalarProperty Name="LastName" ColumnName="LastName" />
<ScalarProperty Name="FirstName" ColumnName="FirstName" />
<ScalarProperty Name="HireDate" ColumnName="HireDate" />
<ScalarProperty Name="EnrollmentDate"
ColumnName="EnrollmentDate" />
</MappingFragment>
</EntityTypeMapping>
<EntityTypeMapping TypeName="SchoolModel.Person">
<ModificationFunctionMapping>
<InsertFunction FunctionName="SchoolModel.Store.InsertPerson">
<ScalarProperty Name="EnrollmentDate"
ParameterName="EnrollmentDate" />
<ScalarProperty Name="HireDate" ParameterName="HireDate" />
<ScalarProperty Name="FirstName" ParameterName="FirstName" />
<ScalarProperty Name="LastName" ParameterName="LastName" />
<ResultBinding Name="PersonID" ColumnName="NewPersonID" />
</InsertFunction>
<UpdateFunction FunctionName="SchoolModel.Store.UpdatePerson">
<ScalarProperty Name="EnrollmentDate"
ParameterName="EnrollmentDate"
Version="Current" />
<ScalarProperty Name="HireDate" ParameterName="HireDate"
Version="Current" />
<ScalarProperty Name="FirstName" ParameterName="FirstName"
Version="Current" />
<ScalarProperty Name="LastName" ParameterName="LastName"
Version="Current" />
<ScalarProperty Name="PersonID" ParameterName="PersonID"
Version="Current" />
</UpdateFunction>
<DeleteFunction FunctionName="SchoolModel.Store.DeletePerson">
<ScalarProperty Name="PersonID" ParameterName="PersonID" />
</DeleteFunction>
</ModificationFunctionMapping>
</EntityTypeMapping>
</EntitySetMapping>
Beispiel
Im folgenden Beispiel wird gezeigt, wie der CourseInstructor-Zuordnungssatz im Modell "School" zugeordnet wird. Zusätzlich zur Spaltenzuordnung für die CourseInstructor-Zuordnung wird die Zuordnung der Insert- und Delete-Funktionen der CourseInstructor-Zuordnung gezeigt. Die Funktionen, denen sie zugeordnet werden, sind im Speichermodell deklariert.
<AssociationSetMapping Name="CourseInstructor"
TypeName="SchoolModel.CourseInstructor"
StoreEntitySet="CourseInstructor">
<EndProperty Name="Person">
<ScalarProperty Name="PersonID" ColumnName="PersonID" />
</EndProperty>
<EndProperty Name="Course">
<ScalarProperty Name="CourseID" ColumnName="CourseID" />
</EndProperty>
<ModificationFunctionMapping>
<InsertFunction FunctionName="SchoolModel.Store.InsertCourseInstructor" >
<EndProperty Name="Course">
<ScalarProperty Name="CourseID" ParameterName="courseId"/>
</EndProperty>
<EndProperty Name="Person">
<ScalarProperty Name="PersonID" ParameterName="instructorId"/>
</EndProperty>
</InsertFunction>
<DeleteFunction FunctionName="SchoolModel.Store.DeleteCourseInstructor">
<EndProperty Name="Course">
<ScalarProperty Name="CourseID" ParameterName="courseId"/>
</EndProperty>
<EndProperty Name="Person">
<ScalarProperty Name="PersonID" ParameterName="instructorId"/>
</EndProperty>
</DeleteFunction>
</ModificationFunctionMapping>
</AssociationSetMapping>
Siehe auch
Aufgaben
Gewusst wie: Definieren eines Modells mit einer gespeicherten Prozedur (Entity Framework)
Weitere Ressourcen
Walkthrough: Mapping an Entity to Stored Procedures
CSDL-, SSDL- und MSL-Spezifikationen
Hinweis: