방법: 동시성 예외가 throw되는 시점 지정(LINQ to SQL)
LINQ to SQL에서 ChangeConflictException 예외는 낙관적 동시성 충돌 때문에 개체가 업데이트되지 않는 경우 throw됩니다. 자세한 내용은 낙관적 동시성 개요(LINQ to SQL)를 참조하십시오.
변경 내용을 데이터베이스에 전송하기 전에 동시성 예외가 throw되는 시점을 지정할 수 있습니다.
첫 번째 실패 시 예외를 Throw합니다(FailOnFirstConflict).
모든 업데이트 시도를 완료하고 모든 실패를 누적하여 예외에 누적된 실패를 보고합니다(ContinueOnConflict).
Throw되면 ChangeConflictException 예외에서 ChangeConflictCollection 컬렉션에 대한 액세스를 제공합니다. 이 컬렉션에서는 MemberConflicts 컬렉션에 대한 액세스를 포함하여 실패한 단일 업데이트 시도에 매핑된 각 충돌에 대한 자세한 내용을 제공합니다. 각 멤버 충돌은 동시성 확인에 실패한 업데이트의 단일 멤버에 매핑됩니다.
예제
다음 코드에서는 두 값의 예제를 보여 줍니다.
Dim db As New Northwnd("...")
' Create, update, delete code.
db.SubmitChanges(ConflictMode.FailOnFirstConflict)
' or
db.SubmitChanges(ConflictMode.ContinueOnConflict)
Northwnd db = new Northwnd("...");
// Create, update, delete code.
db.SubmitChanges(ConflictMode.FailOnFirstConflict);
// or
db.SubmitChanges(ConflictMode.ContinueOnConflict);