ObjectChangeConflict 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
낙관적 동시성 충돌이 하나 이상 발생한 업데이트 시도를 나타냅니다.
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) |
적용 대상
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET