ObjectChangeConflict Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Aktualisierungsversuch mit einem oder mehreren optimistischen Parallelitätskonflikten dar.
public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
- Vererbung
-
ObjectChangeConflict
Beispiele
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
Hinweise
In diesem Szenario tritt ein Fehler auf, bei dem ein versuchtes Update fehlschlägt, da Datenbankwerte seit dem letzten Lesen des Clients aktualisiert wurden.
Das folgende Beispiel zeigt, wie Informationen zu Objekten in Konflikt abgerufen werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| IsDeleted |
Ruft einen Wert ab, der angibt, ob das Objekt in Konflikt aus der Datenbank gelöscht wurde. |
| IsResolved |
Ruft einen Wert ab, der angibt, ob die Konflikte für dieses Objekt bereits behoben wurden. |
| MemberConflicts |
Ruft eine Auflistung aller Memberkonflikte ab, die dazu geführt haben, dass das Update fehlschlug. |
| Object |
Ruft das Objekt in Konflikt ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| Resolve() |
Behebt Memberkonflikte, indem aktuelle Werte beibehalten und die Basiswerte zurückgesetzt werden, damit sie den zuletzt verwendeten Datenbankwerten entsprechen. |
| Resolve(RefreshMode, Boolean) |
Lösen Sie Memberkonflikte, die aktuelle Werte beibehalten, und setzen Sie die ursprünglichen Basiswerte zurück. |
| Resolve(RefreshMode) |
Löst Memberkonflikte mithilfe der angegebenen RefreshMode. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |