다음을 통해 공유


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)

적용 대상