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

설명

이 시나리오는 클라이언트가 마지막으로 읽은 이후 데이터베이스 값이 업데이트되었기 때문에 업데이트 시도가 실패하는 시나리오입니다.

다음 예제에서는 충돌하는 개체에 대한 정보를 검색하는 방법을 보여줍니다.

속성

Name Description
IsDeleted

충돌하는 개체가 데이터베이스에서 삭제되었는지 여부를 나타내는 값을 가져옵니다.

IsResolved

이 개체의 충돌이 이미 해결되었는지 여부를 나타내는 값을 가져옵니다.

MemberConflicts

업데이트가 실패하게 된 모든 멤버 충돌의 컬렉션을 가져옵니다.

Object

충돌하는 개체를 가져옵니다.

메서드

Name Description
Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
Resolve()

현재 값을 유지하고 초기 계획 원래 값을 최신 데이터베이스 값과 일치하도록 다시 설정하여 멤버 충돌을 해결합니다.

Resolve(RefreshMode, Boolean)

현재 값을 유지하고 기준 원래 값을 다시 설정하는 멤버 충돌을 해결합니다.

Resolve(RefreshMode)

지정된 RefreshMode을 사용하여 멤버 충돌을 해결합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상