RefreshMode RefreshMode RefreshMode RefreshMode Enum

Definition

Definiert, wie Konflikte bezüglich vollständiger Parallelität von der Refresh-Methode behandelt werden.Defines how the Refresh method handles optimistic concurrency conflicts.

public enum class RefreshMode
public enum RefreshMode
type RefreshMode = 
Public Enum RefreshMode
Vererbung

Felder

KeepChanges KeepChanges KeepChanges KeepChanges 1

Erzwingt, dass die Refresh-Methode den aktuellen Wert beibehält, der geändert wurde, aktualisiert jedoch die anderen Werte mit den Datenbankwerten.Forces the Refresh method to keep the current value that has been changed, but updates the other values with the database values.

KeepCurrentValues KeepCurrentValues KeepCurrentValues KeepCurrentValues 0

Erzwingt, dass die Refresh-Methode den ursprünglichen Wert mit den aus der Datenbank abgerufenen Werten austauscht.Forces the Refresh method to swap the original value with the values retrieved from the database. Die aktuellen Werte werden nicht geändert.No current value is modified.

OverwriteCurrentValues OverwriteCurrentValues OverwriteCurrentValues OverwriteCurrentValues 2

Erzwingt, dass die Refresh-Methode alle aktuellen Werte mit den Werten aus der Datenbank überschreibt.Forces the Refresh method to override all the current values with the values from the database.

Beispiele

Im folgende Beispiel wird die aktuellen Werte mit Werten aus der Datenbank überschrieben.The following example overwrites current values with values from the database.

Northwnd db = new Northwnd("...");
try
{
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}

catch (ChangeConflictException e)
{
    Console.WriteLine(e.Message);
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        // All database values overwrite current values.
        occ.Resolve(RefreshMode.OverwriteCurrentValues);
    }
}
Dim db As New Northwnd("...")

Try
    db.SubmitChanges(ConflictMode.ContinueOnConflict)

Catch ex As ChangeConflictException
    Console.WriteLine(ex.Message)

    For Each occ As ObjectChangeConflict In db.ChangeConflicts
        ' All database values overwrite current values.
        occ.Resolve(Data.Linq.RefreshMode.OverwriteCurrentValues)
    Next

End Try

Das folgende Beispiel zeigt, wie den ursprünglichen Wert mit den Werten aus der Datenbank abgerufenen ausgetauscht wird.The following example shows how to swap the original value with the values retrieved from the database. Die aktuellen Werte werden nicht geändert.No current value is modified.

try
{
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}

catch (ChangeConflictException e)
{
    Console.WriteLine(e.Message);
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        //No database values are merged into current.
        occ.Resolve(RefreshMode.KeepCurrentValues);
    }
}
Try
    db.SubmitChanges(ConflictMode.ContinueOnConflict)

Catch ex As ChangeConflictException
    Console.WriteLine(ex.Message)

    For Each occ As ObjectChangeConflict In db.ChangeConflicts
        ' No database values are merged into current.
        occ.Resolve(Data.Linq.RefreshMode.KeepCurrentValues)
    Next

End Try

Im folgende Beispiel speichert die aktuellen Werte, die geändert wurden, aber die anderen Werte mit Datenbankwerten aktualisiert.The following example keeps the current values that have been changed, but updates the other values with database values.

try
{
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}

catch (ChangeConflictException e)
{
    Console.WriteLine(e.Message);
    // Automerge database values for members that client
    // has not modified.
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        occ.Resolve(RefreshMode.KeepChanges);
    }
}

// Submit succeeds on second try.
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
Try
    db.SubmitChanges(ConflictMode.ContinueOnConflict)

Catch ex As ChangeConflictException
    Console.WriteLine(ex.Message)

    For Each occ As ObjectChangeConflict In db.ChangeConflicts
        ' Automerge database values into current for members
        ' that client has not modified.
        occ.Resolve(Data.Linq.RefreshMode.KeepChanges)
    Next

End Try

' Submit succeeds on second try.
db.SubmitChanges(ConflictMode.FailOnFirstConflict)

Hinweise

Diese Enumeration gilt für alle Refresh Überladungen.This enumeration applies to all Refresh overloads.

Gilt für: