DeleteFunction-Element (MSL)

In MSL (Mapping Specification Language) ordnet das DeleteFunction-Element die Löschfunktion eines Entitätstyps oder einer Zuordnung im konzeptionellen Modell einer gespeicherten Prozedur in der zugrunde liegenden Datenbank zu. Gespeicherte Prozeduren, denen Änderungsfunktionen zugeordnet werden, müssen im Speichermodell deklariert werden. Weitere Informationen finden Sie unter Function-Element (SSDL).

Cc716748.note(de-de,VS.100).gifHinweis:
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.

DeleteFunction angewendet auf EntityTypeMapping

Wenn DeleteFunction auf das EntityTypeMapping-Element-Element angewendet wird, wird die Löschfunktion eines Entitätstyps im konzeptionellen Modell einer gespeicherten Prozedur zugeordnet.

Ein DeleteFunction-Element kann die folgenden untergeordneten Elemente aufweisen, wenn es einem EntityTypeMapping-Element zugeordnet wird:

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die auf das DeleteFunction-Element angewendet werden können, wenn es auf ein EntityTypeMapping-Element angewendet wird.

Attributname Ist erforderlich Wert

FunctionName

Ja

Der mit einem Namespace qualifizierte Name der gespeicherten Prozedur, der die Löschfunktion zugeordnet wird. Die gespeicherte Prozedur muss im Speichermodell deklariert werden.

RowsAffectedParameter

Nein

Der Name des Ausgabeparameters, der die Anzahl der betroffenen Zeilen zurückgibt.

Beispiel

Das folgende Beispiel basiert auf dem Modell "School" und zeigt das DeleteFunction-Element, das der gespeicherten Prozedur DeletePerson die Löschfunktion des Person-Entitätstyps zuordnet. Die gespeicherte Prozedur DeletePerson wird 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>

DeleteFunction angewendet auf AssociationSetMapping

Wenn das DeleteFunction-Element auf das AssociationSetMapping-Element angewendet wird, ordnet es die Löschfunktion einer Zuordnung im konzeptionellen Modell einer gespeicherten Prozedur zu.

Ein DeleteFunction-Element kann die folgenden untergeordneten Elemente aufweisen, wenn es dem AssociationSetMapping-Element zugeordnet wird:

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die auf das DeleteFunction-Element angewendet werden können, wenn es auf das AssociationSetMapping-Element angewendet wird.

Attributname Ist erforderlich Wert

FunctionName

Ja

Der mit einem Namespace qualifizierte Name der gespeicherten Prozedur, der die Löschfunktion zugeordnet wird. Die gespeicherte Prozedur muss im Speichermodell deklariert werden.

RowsAffectedParameter

Nein

Der Name des Ausgabeparameters, der die Anzahl der betroffenen Zeilen zurückgibt.

Beispiel

Das folgende Beispiel basiert auf dem Modell "School" und zeigt ein DeleteFunction-Element, das verwendet wird, um die Löschfunktion der CourseInstructor-Zuordnung der gespeicherten Prozedur DeleteCourseInstructor zuzuordnen. Die gespeicherte Prozedur DeleteCourseInstructor wird 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

Weitere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen
Modellieren und Zuordnen (Entity Framework)