Поделиться через


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)

Применяется к