MemberChangeConflict.Resolve Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee worden ledenconflicten opgelost door de huidige waarden te behouden en de oorspronkelijke basislijnwaarden opnieuw in te stellen zodat deze overeenkomen met de recentere databasewaarden.
Overloads
| Name | Description |
|---|---|
| Resolve(RefreshMode) |
Gebruikt een RefreshMode parameter om automatisch de waarde op te geven die moet worden ingesteld als de huidige waarde voor het lid in conflict. |
| Resolve(Object) |
Hiermee geeft u de waarde op die moet worden ingesteld als de huidige waarde voor het lid in conflict. |
Resolve(RefreshMode)
Gebruikt een RefreshMode parameter om automatisch de waarde op te geven die moet worden ingesteld als de huidige waarde voor het lid in conflict.
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)
Parameters
- refreshMode
- RefreshMode
Zie RefreshMode.
Voorbeelden
In het volgende voorbeeld worden de huidige waarden overschreven met waarden uit de 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
In het volgende voorbeeld ziet u hoe u de oorspronkelijke waarde kunt wisselen met de waarden die zijn opgehaald uit de database. Er wordt geen huidige waarde gewijzigd.
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
In het volgende voorbeeld blijven de huidige waarden behouden die zijn gewijzigd, maar worden de andere waarden bijgewerkt met databasewaarden.
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)
Opmerkingen
In de volgende voorbeelden ziet u welke resultaten worden geproduceerd met behulp van de verschillende waarden voor RefreshMode.
Van toepassing op
Resolve(Object)
Hiermee geeft u de waarde op die moet worden ingesteld als de huidige waarde voor het lid in conflict.
public:
void Resolve(System::Object ^ value);
public void Resolve(object value);
member this.Resolve : obj -> unit
Public Sub Resolve (value As Object)
Parameters
- value
- Object
De waarde die moet worden ingesteld als de huidige waarde.
Opmerkingen
De waarde die hier is ingesteld, is de waarde die in een volgende SubmitChanges bewerking moet worden gebruikt.