Bagikan melalui


ObjectChangeConflict.Resolve Metode

Definisi

Mengatasi konflik anggota.

Overload

Resolve()

Mengatasi konflik anggota dengan mempertahankan nilai saat ini dan mengatur ulang nilai asli garis besar agar sesuai dengan nilai database yang lebih baru.

Resolve(RefreshMode)

Mengatasi konflik anggota dengan menggunakan yang ditentukan RefreshMode.

Resolve(RefreshMode, Boolean)

Atasi konflik anggota yang mempertahankan nilai saat ini dan mengatur ulang nilai asli garis besar.

Resolve()

Mengatasi konflik anggota dengan mempertahankan nilai saat ini dan mengatur ulang nilai asli garis besar agar sesuai dengan nilai database yang lebih baru.

public:
 void Resolve();
public void Resolve ();
member this.Resolve : unit -> unit
Public Sub Resolve ()

Berlaku untuk

Resolve(RefreshMode)

Mengatasi konflik anggota dengan menggunakan yang ditentukan 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)

Parameter

refreshMode
RefreshMode

Opsi yang sesuai dari RefreshMode.

Contoh

Contoh berikut menimpa nilai saat ini dengan nilai dari 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

Contoh berikut menunjukkan cara menukar nilai asli dengan nilai yang diambil dari database. Tidak ada nilai saat ini yang dimodifikasi.

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

Contoh berikut mempertahankan nilai saat ini yang telah diubah, tetapi memperbarui nilai lain dengan nilai 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)

Keterangan

Contoh berikut menunjukkan hasil apa yang dihasilkan dengan menggunakan berbagai nilai untuk RefreshMode.

Berlaku untuk

Resolve(RefreshMode, Boolean)

Atasi konflik anggota yang mempertahankan nilai saat ini dan mengatur ulang nilai asli garis besar.

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)

Parameter

refreshMode
RefreshMode

Opsi yang sesuai dari RefreshMode.

autoResolveDeletes
Boolean

Ketika true, secara otomatis menyelesaikan konflik yang dihasilkan dari objek yang dimodifikasi yang tidak lagi ada dalam database.

Berlaku untuk