ObjectChangeConflict.Resolve Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Löser medlemskonflikter.
Överlagringar
| Name | Description |
|---|---|
| Resolve() |
Löser medlemskonflikter genom att behålla aktuella värden och återställa originalvärdena för baslinjen så att de matchar de nyare databasvärdena. |
| Resolve(RefreshMode) |
Löser medlemskonflikter med hjälp av den angivna RefreshMode. |
| Resolve(RefreshMode, Boolean) |
Lös medlemskonflikter som behåller aktuella värden och återställer originalvärdena för baslinjen. |
Resolve()
Löser medlemskonflikter genom att behålla aktuella värden och återställa originalvärdena för baslinjen så att de matchar de nyare databasvärdena.
public:
void Resolve();
public void Resolve();
member this.Resolve : unit -> unit
Public Sub Resolve ()
Gäller för
Resolve(RefreshMode)
Löser medlemskonflikter med hjälp av den angivna 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)
Parametrar
- refreshMode
- RefreshMode
Lämpligt alternativ från RefreshMode.
Exempel
I följande exempel skrivs aktuella värden över med värden från databasen.
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
I följande exempel visas hur du växlar det ursprungliga värdet med de värden som hämtats från databasen. Inget aktuellt värde ändras.
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
I följande exempel behålls de aktuella värden som har ändrats, men de andra värdena uppdateras med databasvärden.
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)
Kommentarer
I följande exempel visas vilka resultat som genereras med hjälp av de olika värdena för RefreshMode.
Gäller för
Resolve(RefreshMode, Boolean)
Lös medlemskonflikter som behåller aktuella värden och återställer originalvärdena för baslinjen.
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)
Parametrar
- refreshMode
- RefreshMode
Lämpligt alternativ från RefreshMode.
- autoResolveDeletes
- Boolean
När truelöser automatiskt konflikter till följd av ett ändrat objekt som inte längre finns i databasen.