다음을 통해 공유


방법: 동시성 예외가 Throw되는 시기 지정

LINQ to SQL에서 ChangeConflictException 예외는 낙관적 동시성 충돌 때문에 개체가 업데이트되지 않는 경우 throw됩니다. 자세한 내용은 낙관적 동시성: 개요를 참조하세요.

변경 내용을 데이터베이스에 전송하기 전에 동시성 예외가 throw되는 시점을 지정할 수 있습니다.

  • 첫 번째 실패 시 예외를 Throw합니다(FailOnFirstConflict).

  • 모든 업데이트 시도를 완료하고 모든 실패를 누적하여 예외에 누적된 실패를 보고합니다(ContinueOnConflict).

Throw되면 ChangeConflictException 예외에서 ChangeConflictCollection 컬렉션에 대한 액세스를 제공합니다. 이 컬렉션에서는 MemberConflicts 컬렉션에 대한 액세스를 포함하여 실패한 단일 업데이트 시도에 매핑된 각 충돌에 대한 자세한 내용을 제공합니다. 각 멤버 충돌은 동시성 확인에 실패한 업데이트의 단일 멤버에 매핑됩니다.

예시

다음 코드에서는 두 값의 예제를 보여 줍니다.

Northwnd db = new Northwnd("...");

// Create, update, delete code.

db.SubmitChanges(ConflictMode.FailOnFirstConflict);
// or
db.SubmitChanges(ConflictMode.ContinueOnConflict);
Dim db As New Northwnd("...")

' Create, update, delete code.

db.SubmitChanges(ConflictMode.FailOnFirstConflict)
' or
db.SubmitChanges(ConflictMode.ContinueOnConflict)

참고 항목