Langue

ObjectChangeConflict.Resolve Méthode

Définition

Résout les conflits de membres.

Surcharges

Nom Description
Resolve()

Résout les conflits de membres en conservant les valeurs actuelles et en réinitialisant les valeurs d’origine de la base de référence pour qu’elles correspondent aux valeurs de base de données les plus récentes.

Resolve(RefreshMode)

Résout les conflits de membres à l’aide de l’élément RefreshModespécifié.

Resolve(RefreshMode, Boolean)

Résolvez les conflits de membres qui conservent les valeurs actuelles et réinitialise les valeurs d’origine de la base de référence.

Resolve()

Résout les conflits de membres en conservant les valeurs actuelles et en réinitialisant les valeurs d’origine de la base de référence pour qu’elles correspondent aux valeurs de base de données les plus récentes.

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

S’applique à

Resolve(RefreshMode)

Résout les conflits de membres à l’aide de l’élément RefreshModespécifié.

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)

Paramètres

refreshMode
RefreshMode

Option appropriée à partir de RefreshMode.

Exemples

L’exemple suivant remplace les valeurs actuelles avec des valeurs de la base de données.

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

L’exemple suivant montre comment échanger la valeur d’origine avec les valeurs récupérées à partir de la base de données. Aucune valeur actuelle n’est modifiée.

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’exemple suivant conserve les valeurs actuelles qui ont été modifiées, mais met à jour les autres valeurs avec des valeurs de base de données.

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)

Remarques

Les exemples suivants montrent les résultats générés à l’aide des différentes valeurs pour RefreshMode.

S’applique à

Resolve(RefreshMode, Boolean)

Résolvez les conflits de membres qui conservent les valeurs actuelles et réinitialise les valeurs d’origine de la base de référence.

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)

Paramètres

refreshMode
RefreshMode

Option appropriée à partir de RefreshMode.

autoResolveDeletes
Boolean

Quand true, résout automatiquement les conflits résultant d’un objet modifié qui n’est plus dans la base de données.

S’applique à