ObjectChangeConflict.Resolve Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Résout les conflits entre membres.
Surcharges
Resolve() |
Résout des conflits entre membres en conservant les valeurs actuelles et en réinitialisant les valeurs d'origine de base pour qu'elles correspondent aux valeurs les plus récentes de la base de données. |
Resolve(RefreshMode) |
Résout les conflits entre membres en utilisant le RefreshMode spécifié. |
Resolve(RefreshMode, Boolean) |
Résout des conflits entre membres en conservant les valeurs actuelles et en réinitialisant les valeurs d'origine de base. |
Resolve()
Résout des conflits entre membres en conservant les valeurs actuelles et en réinitialisant les valeurs d'origine de base pour qu'elles correspondent aux valeurs les plus récentes de la base de données.
public:
void Resolve();
public void Resolve ();
member this.Resolve : unit -> unit
Public Sub Resolve ()
S’applique à
Resolve(RefreshMode)
Résout les conflits entre membres en utilisant le RefreshMode spé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 de RefreshMode.
Exemples
L’exemple suivant remplace les valeurs actuelles par les 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 permuter 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 les 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ésout des conflits entre membres en conservant les valeurs actuelles et en réinitialisant les valeurs d'origine de base.
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 de RefreshMode.
- autoResolveDeletes
- Boolean
Lorsque sa valeur est true
, résout automatiquement les conflits qui résultent d'un objet modifié qui n'est plus dans la base de données.