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 denemesini 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 okuma tarihinden bu yana veritabanı değerleri güncelleştirildiğinden güncelleştirme girişiminin başarısız olduğu senaryodur.
Aşağıdaki örnekte, çakışan nesneler hakkında bilgi alma gösterilmektedir.
Özellikler
| Name | Description |
|---|---|
| IsDeleted |
Çakışan nesnenin veritabanından silinip silinmediğini gösteren 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ından oluşan bir koleksiyon alır. |
| Object |
Nesneyi çakışan alır. |
Yöntemler
| Name | Description |
|---|---|
| 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() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit 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, Boolean) |
Geçerli değerleri saklayan ve temel özgün değerleri sıfırlayan üye çakışmalarını çözün. |
| Resolve(RefreshMode) |
Belirtilen RefreshModekullanarak üye çakışmalarını çözer. |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |