ObjectChangeConflict Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje próbę aktualizacji z co najmniej jednym optymistycznym konfliktem współbieżności.
public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
- Dziedziczenie
-
ObjectChangeConflict
Przykłady
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
Uwagi
Ten scenariusz polega na tym, że próba aktualizacji kończy się niepowodzeniem, ponieważ wartości bazy danych zostały zaktualizowane od czasu ostatniego odczytania przez klienta.
W poniższym przykładzie pokazano, jak pobrać informacje o obiektach w konflikcie.
Właściwości
IsDeleted |
Pobiera wartość wskazującą, czy obiekt w konflikcie został usunięty z bazy danych. |
IsResolved |
Pobiera wartość wskazującą, czy konflikty dla tego obiektu zostały już rozwiązane. |
MemberConflicts |
Pobiera kolekcję wszystkich konfliktów składowych, które spowodowały niepowodzenie aktualizacji. |
Object |
Pobiera obiekt w konflikcie. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Resolve() |
Rozwiązuje konflikty elementów członkowskich, zachowując bieżące wartości i resetując oryginalne wartości punktu odniesienia w celu dopasowania ich do nowszych wartości bazy danych. |
Resolve(RefreshMode) |
Rozwiązuje konflikty elementów członkowskich przy użyciu określonego RefreshModeelementu . |
Resolve(RefreshMode, Boolean) |
Rozwiąż konflikty składowe, utrzymując bieżące wartości i resetując oryginalne wartości punktu odniesienia. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |