Aracılığıyla paylaş


ObjectChangeConflict Sınıf

Tanım

Bir veya daha fazla iyimser eşzamanlılık çakışması olan bir güncelleştirme girişimini temsil eder.

public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
Devralma
ObjectChangeConflict

Örnekler

Northwnd db = new Northwnd("...");

try
{
    db.SubmitChanges(ConflictMode.ContinueOnConflict);
}

catch (ChangeConflictException e)
{
    Console.WriteLine("Optimistic concurrency error.");
    Console.WriteLine(e.Message);
    foreach (ObjectChangeConflict occ in db.ChangeConflicts)
    {
        MetaTable metatable = db.Mapping.GetTable(occ.Object.GetType());
        Customer entityInConflict = (Customer)occ.Object;
        Console.WriteLine("Table name: {0}", metatable.TableName);
        Console.Write("Customer ID: ");
        Console.WriteLine(entityInConflict.CustomerID);
        Console.ReadLine();
    }
}
Dim db As New Northwnd("...")

Try
    db.SubmitChanges(ConflictMode.ContinueOnConflict)

Catch ex As ChangeConflictException
    Console.WriteLine("Optimistic concurrency error.")
    Console.WriteLine(ex.Message)
    For Each occ As ObjectChangeConflict In db.ChangeConflicts
        Dim metatable As MetaTable = db.Mapping.GetTable(occ.Object.GetType())
        Dim entityInConflict = occ.Object

        Console.WriteLine("Table name: " & metatable.TableName)
        Console.Write("Customer ID: ")
        Console.WriteLine(entityInConflict.CustomerID)
        Console.ReadLine()
    Next
End Try

Açıklamalar

Bu senaryo, istemcinin son okuması sonrasında veritabanı değerleri güncelleştirildiğinden güncelleştirme girişiminin başarısız olduğu senaryodur.

Aşağıdaki örnekte, çakışma içindeki nesnelerle ilgili bilgilerin nasıl alınıyor olduğu gösterilmektedir.

Özellikler

IsDeleted

Çakışan nesnenin veritabanından silinip silinmediğini belirten bir değer alır.

IsResolved

Bu nesnenin çakışmalarının zaten çözülmüş olup olmadığını gösteren bir değer alır.

MemberConflicts

Güncelleştirmenin başarısız olmasına neden olan tüm üye çakışmalarının bir koleksiyonunu alır.

Object

Çakışmadaki nesneyi alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
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 koruyarak ve temel özgün değerleri sıfırlayarak üye çakışmalarını çözün.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır