ObjectChangeConflict Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет попытку обновления с одним или несколькими конфликтами оптимистичного параллелизма.
public ref class ObjectChangeConflict sealed
public sealed class ObjectChangeConflict
type ObjectChangeConflict = class
Public NotInheritable Class ObjectChangeConflict
- Наследование
-
ObjectChangeConflict
Примеры
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
Комментарии
В этом сценарии попытка обновления завершается сбоем, так как значения базы данных были обновлены с момента последнего считывания клиентом.
В следующем примере показано, как получить сведения о конфликтуемых объектах.
Свойства
IsDeleted |
Возвращает значение, указывающее, был ли участвующий в конфликте объект удален из базы данных. |
IsResolved |
Возвращает значение, указывающее, были ли конфликты для этого объекта разрешены. |
MemberConflicts |
Возвращает коллекцию всех конфликтов членов, которые послужили причиной сбоя обновления. |
Object |
Возвращает участвующий в конфликте объект. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Resolve() |
Разрешает конфликты между членами, сохраняя текущие значения и переустанавливая исходные базовые значения, которые должны соответствовать последним значениям в базе данных. |
Resolve(RefreshMode) |
Разрешает конфликты членов, используя указанный режим RefreshMode. |
Resolve(RefreshMode, Boolean) |
Разрешает конфликты членов, сохраняя текущие значения и сбрасывая основные исходные значения. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |