ObjectChangeConflict Sınıf
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.
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) |