Condividi tramite


MemberChangeConflict.Resolve Metodo

Definizione

Risolve i conflitti fra i membri mantenendo i valori correnti e reimpostando i valori originali di base in modo che corrispondano ai valori più recenti del database.

Overload

Resolve(RefreshMode)

Utilizza un parametro RefreshMode per specificare automaticamente il valore da impostare come valore corrente per il membro in conflitto.

Resolve(Object)

Specifica il valore da impostare come valore corrente per il membro in conflitto.

Resolve(RefreshMode)

Utilizza un parametro RefreshMode per specificare automaticamente il valore da impostare come valore corrente per il membro in conflitto.

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)

Parametri

refreshMode
RefreshMode

Vedere RefreshMode.

Esempio

Nell'esempio seguente i valori correnti sono sovrascritti con i valori del 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

Nell'esempio seguente viene illustrato come scambiare il valore originale con i valori recuperati dal database. Non viene modificato alcun valore corrente.

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

L'esempio seguente mantiene i valori correnti modificati, ma aggiorna gli altri valori con i valori del database.

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)

Commenti

Negli esempi seguenti vengono illustrati i risultati generati usando i vari valori per RefreshMode.

Si applica a

Resolve(Object)

Specifica il valore da impostare come valore corrente per il membro in conflitto.

public:
 void Resolve(System::Object ^ value);
public void Resolve (object value);
member this.Resolve : obj -> unit
Public Sub Resolve (value As Object)

Parametri

value
Object

Valore da impostare come valore corrente.

Commenti

Il valore impostato qui è il valore da usare in un'operazione successiva SubmitChanges .

Si applica a