DomainContext.SubmitChanges-Methode (Action (generisch), Object)

Sendet alle ausstehenden Änderungen an den Domänendienst.

Namespace: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)

Verwendung

'Usage
Dim instance As DomainContext
Dim callback As Action(Of SubmitOperation)
Dim userState As Object
Dim returnValue As SubmitOperation

returnValue = instance.SubmitChanges(callback, userState)

Syntax

'Declaration
Public Overridable Function SubmitChanges ( _
    callback As Action(Of SubmitOperation), _
    userState As Object _
) As SubmitOperation
public virtual SubmitOperation SubmitChanges (
    Action<SubmitOperation> callback,
    Object userState
)
public:
virtual SubmitOperation^ SubmitChanges (
    Action<SubmitOperation^>^ callback, 
    Object^ userState
)
public SubmitOperation SubmitChanges (
    Action<SubmitOperation> callback, 
    Object userState
)
public function SubmitChanges (
    callback : Action<SubmitOperation>, 
    userState : Object
) : SubmitOperation

Parameter

  • callback
    Optionaler Rückruf für den Sendevorgang.
  • userState
    Optionaler Benutzerzustand, der dem Vorgang zugeordnet werden soll.

Rückgabewert

Der Sendevorgang.

Beispiel

Im folgenden Codebeispiel werden Methoden gezeigt, die die SubmitChanges-Methode und die RejectChanges-Methode aufrufen.

Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    _customerContext.SubmitChanges(AddressOf OnSubmitCompleted, Nothing)
End Sub

Private Sub RejectButton_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
    _customerContext.RejectChanges()
    CheckChanges()
End Sub

Private Sub CustomerGrid_RowEditEnded(ByVal sender As System.Object, ByVal e As System.Windows.Controls.DataGridRowEditEndedEventArgs)
    CheckChanges()
End Sub

Private Sub CheckChanges()
    Dim changeSet = _customerContext.EntityContainer.GetChanges()
    ChangeText.Text = changeSet.ToString()

    Dim hasChanges = _customerContext.HasChanges
    SaveButton.IsEnabled = hasChanges
    RejectButton.IsEnabled = hasChanges
End Sub

Private Sub OnSubmitCompleted(ByVal so As SubmitOperation)
    If (so.HasError) Then
        MessageBox.Show(String.Format("Submit Failed: {0}", so.Error.Message))
        so.MarkErrorAsHandled()
    End If
    CheckChanges()
End Sub
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
    _customerContext.SubmitChanges(OnSubmitCompleted, null);
}

private void RejectButton_Click(object sender, RoutedEventArgs e)
{
    _customerContext.RejectChanges();
    CheckChanges();
}

private void CustomerGrid_RowEditEnded(object sender, DataGridRowEditEndedEventArgs e)
{
    CheckChanges();
}

private void CheckChanges()
{
    EntityChangeSet changeSet = _customerContext.EntityContainer.GetChanges();
    ChangeText.Text = changeSet.ToString();

    bool hasChanges = _customerContext.HasChanges;
    SaveButton.IsEnabled = hasChanges;
    RejectButton.IsEnabled = hasChanges;
}

private void OnSubmitCompleted(SubmitOperation so)
{
    if (so.HasError)
    {
        MessageBox.Show(string.Format("Submit Failed: {0}", so.Error.Message));
        so.MarkErrorAsHandled();
    }
    CheckChanges();
}

Hinweise

Verwenden Sie die SubmitChanges-Methode zum Aktualisieren, Einfügen oder Löschen von Daten. Alle ausstehenden Änderungen werden in einem Vorgang gesendet. Stellen Sie eine Rückrufmethode bereit, wenn Sie nach dem Abschluss des asynchronen Vorgangs Code ausführen müssen. In der Rückrufmethode können Sie eine Fehlerprüfung durchführen und bei Bedarf die Benutzeroberfläche aktualisieren.

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.

Plattformen

Entwicklungsplattformen

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 und Windows 2000

Zielplattformen

Change History

Siehe auch

Verweis

DomainContext-Klasse
DomainContext-Member
System.ServiceModel.DomainServices.Client-Namespace