ObjectChangeConflict.Resolve Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Üye çakışmalarını çözer.
Aşırı Yüklemeler
Resolve() |
Geçerli değerleri koruyarak ve temel özgün değerleri daha yeni veritabanı değerleriyle eşleşecek şekilde sıfırlayarak üye çakışmalarını çözer. |
Resolve(RefreshMode) |
Belirtilen RefreshModekullanarak üye çakışmalarını çözer. |
Resolve(RefreshMode, Boolean) |
Geçerli değerleri tutan ve temel özgün değerleri sıfırlayan üye çakışmalarını çözün. |
Resolve()
Geçerli değerleri koruyarak ve temel özgün değerleri daha yeni veritabanı değerleriyle eşleşecek şekilde sıfırlayarak üye çakışmalarını çözer.
public:
void Resolve();
public void Resolve ();
member this.Resolve : unit -> unit
Public Sub Resolve ()
Şunlara uygulanır
Resolve(RefreshMode)
Belirtilen RefreshModekullanarak üye çakışmalarını çözer.
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)
Parametreler
- refreshMode
- RefreshMode
'den RefreshModeuygun seçenek.
Örnekler
Aşağıdaki örnek geçerli değerlerin üzerine veritabanındaki değerleri yazar.
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
Aşağıdaki örnekte özgün değeri veritabanından alınan değerlerle değiştirme işlemi gösterilmektedir. Geçerli değer değiştirilmez.
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
Aşağıdaki örnek değiştirilen geçerli değerleri tutar, ancak diğer değerleri veritabanı değerleriyle güncelleştirir.
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)
Açıklamalar
Aşağıdaki örneklerde için çeşitli değerler RefreshModekullanılarak hangi sonuçların üretildiği gösterilir.
Şunlara uygulanır
Resolve(RefreshMode, Boolean)
Geçerli değerleri tutan ve temel özgün değerleri sıfırlayan üye çakışmalarını çözün.
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)
Parametreler
- refreshMode
- RefreshMode
'den RefreshModeuygun seçenek.
- autoResolveDeletes
- Boolean
olduğunda true
, artık veritabanında olmayan değiştirilmiş bir nesneden kaynaklanan çakışmaları otomatik olarak çözer.