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 varios 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 uno 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
| Nombre | Description |
|---|---|
| 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 los conflictos de este objeto ya se han resuelto. |
| MemberConflicts |
Obtiene una colección de todos los conflictos de miembros que provocaron un error en la actualización. |
| Object |
Obtiene el objeto en conflicto. |
Métodos
| Nombre | Description |
|---|---|
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa 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 Objectactual. (Heredado de Object) |
| Resolve() |
Resuelve los conflictos de miembros manteniendo los valores actuales y restableciendo los valores originales de línea base para que coincidan con los valores de base de datos más recientes. |
| Resolve(RefreshMode, Boolean) |
Resuelva conflictos de miembros que mantienen los valores actuales y restablezcan los valores originales de línea base. |
| Resolve(RefreshMode) |
Resuelve conflictos de miembros mediante el especificado RefreshMode. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |