ObjectChangeConflict.Resolve Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Risolve i conflitti fra membri.
Overload
Resolve() |
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. |
Resolve(RefreshMode) |
Risolve i conflitti fra i membri utilizzando l'oggetto RefreshMode specificato. |
Resolve(RefreshMode, Boolean) |
Risolve i conflitti fra i membri mantenendo i valori correnti e reimpostando i valori originali di base. |
Resolve()
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.
public:
void Resolve();
public void Resolve ();
member this.Resolve : unit -> unit
Public Sub Resolve ()
Si applica a
Resolve(RefreshMode)
Risolve i conflitti fra i membri utilizzando l'oggetto RefreshMode specificato.
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
Opzione appropriata da 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(RefreshMode, Boolean)
Risolve i conflitti fra i membri mantenendo i valori correnti e reimpostando i valori originali di 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)
Parametri
- refreshMode
- RefreshMode
Opzione appropriata da RefreshMode.
- autoResolveDeletes
- Boolean
Se true
, risolve automaticamente i conflitti generati da un oggetto modificato non più presente nel database.