ObjectChangeConflict Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un tentativo di aggiornamento con uno o più conflitti di concorrenza ottimistica.
public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
- Ereditarietà
-
ObjectChangeConflict
Esempio
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
Commenti
Questo scenario è uno in cui un tentativo di aggiornamento ha esito negativo perché i valori del database sono stati aggiornati dall'ultima lettura del client.
Nell'esempio seguente viene illustrato come recuperare informazioni sugli oggetti in conflitto.
Proprietà
IsDeleted |
Ottiene un valore che indica se l'oggetto in conflitto è stato eliminato dal database. |
IsResolved |
Ottiene un valore che indica se i conflitti per questo oggetto sono già stati risolti. |
MemberConflicts |
Ottiene una raccolta di tutti i conflitti fra membri che hanno impedito l'aggiornamento. |
Object |
Ottiene l'oggetto in conflitto. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Resolve() |
Risolve i conflitti fra i membri mantenendo i valori correnti e reimpostando i valori originali di base in modo che corrispondano ai valori più recenti del database. |
Resolve(RefreshMode) |
Risolve i conflitti fra i membri utilizzando l'oggetto RefreshMode specificato. |
Resolve(RefreshMode, Boolean) |
Risolve i conflitti fra i membri mantenendo i valori correnti e reimpostando i valori originali di base. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |