ObjectChangeConflict.Resolve Methode

Definitie

Hiermee worden lidconflicten opgelost.

Overloads

Name Description
Resolve()

Hiermee worden ledenconflicten opgelost door de huidige waarden te behouden en de oorspronkelijke basislijnwaarden opnieuw in te stellen zodat deze overeenkomen met de recentere databasewaarden.

Resolve(RefreshMode)

Hiermee worden lidconflicten opgelost met behulp van de opgegeven RefreshMode.

Resolve(RefreshMode, Boolean)

Los conflicten met leden op die de huidige waarden behouden en de oorspronkelijke basislijnwaarden opnieuw instellen.

Resolve()

Hiermee worden ledenconflicten opgelost door de huidige waarden te behouden en de oorspronkelijke basislijnwaarden opnieuw in te stellen zodat deze overeenkomen met de recentere databasewaarden.

public:
 void Resolve();
public void Resolve();
member this.Resolve : unit -> unit
Public Sub Resolve ()

Van toepassing op

Resolve(RefreshMode)

Hiermee worden lidconflicten opgelost met behulp van de opgegeven RefreshMode.

public:
 void Resolve(System::Data::Linq::RefreshMode refreshMode);
public void Resolve(System.Data.Linq.RefreshMode refreshMode);
member this.Resolve : System.Data.Linq.RefreshMode -> unit
Public Sub Resolve (refreshMode As RefreshMode)

Parameters

refreshMode
RefreshMode

De juiste optie van RefreshMode.

Voorbeelden

In het volgende voorbeeld worden de huidige waarden overschreven met waarden uit de 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

In het volgende voorbeeld ziet u hoe u de oorspronkelijke waarde kunt wisselen met de waarden die zijn opgehaald uit de database. Er wordt geen huidige waarde gewijzigd.

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

In het volgende voorbeeld blijven de huidige waarden behouden die zijn gewijzigd, maar worden de andere waarden bijgewerkt met databasewaarden.

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)

Opmerkingen

In de volgende voorbeelden ziet u welke resultaten worden geproduceerd met behulp van de verschillende waarden voor RefreshMode.

Van toepassing op

Resolve(RefreshMode, Boolean)

Los conflicten met leden op die de huidige waarden behouden en de oorspronkelijke basislijnwaarden opnieuw instellen.

public:
 void Resolve(System::Data::Linq::RefreshMode refreshMode, bool autoResolveDeletes);
public void Resolve(System.Data.Linq.RefreshMode refreshMode, bool autoResolveDeletes);
member this.Resolve : System.Data.Linq.RefreshMode * bool -> unit
Public Sub Resolve (refreshMode As RefreshMode, autoResolveDeletes As Boolean)

Parameters

refreshMode
RefreshMode

De juiste optie van RefreshMode.

autoResolveDeletes
Boolean

Wanneer true, worden conflicten automatisch opgelost die het gevolg zijn van een gewijzigd object dat zich niet meer in de database bevindt.

Van toepassing op