Språk

ObjectChangeConflict.Resolve Metod

Definition

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.

Gäller för