ObjectChangeConflict.Resolve Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.