ObjectChangeConflict Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un intento de actualización con uno o más conflictos de simultaneidad optimista.
public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
- Herencia
-
ObjectChangeConflict
Ejemplos
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
Comentarios
Este escenario es aquel en el que se produce un error en una actualización intentada porque los valores de la base de datos se han actualizado desde que el cliente los leyó por última vez.
En el ejemplo siguiente se muestra cómo recuperar información sobre los objetos en conflicto.
Propiedades
IsDeleted |
Obtiene un valor que indica si el objeto en conflicto se ha eliminado de la base de datos. |
IsResolved |
Obtiene un valor que indica si ya se han resuelto los conflictos correspondientes a este objeto. |
MemberConflicts |
Obtiene una colección de todos los conflictos de miembros que impidieron que se produjera la actualización. |
Object |
Obtiene el objeto en conflicto. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
Resolve() |
Resuelve los conflictos de miembros conservando los valores actuales y restableciendo los valores originales de la línea base para que coincidan con los valores más recientes de la base de datos. |
Resolve(RefreshMode) |
Resuelve los conflictos de miembros utilizando el RefreshMode especificado. |
Resolve(RefreshMode, Boolean) |
Resuelve los conflictos de miembros conservando los valores actuales y volviendo a establecer los valores originales de la línea base. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |