EF4.0과 함께 동시성에 대해 배우고 사용되는 잠금 패턴에 대해 질문이 있습니다. 나는 비교적 일반적으로 프로그래밍과 동시성 특히, 그래서 어쩌면 내가 잘못한 단어들 ... 제발 나와 함께 베어.고정 concurrencymode로 저장하기 전에 잠금
버전 번호 속성에 고정 된 동시성 모드를 구성한다고 가정 해보십시오.
이제 데이터베이스 (컨텍스트)에서 레코드 (엔티티)를 가져 와서 일부 속성을 편집한다고 가정 해 보겠습니다. 버전은 증가하고 SaveChanges가 해당 컨텍스트에서 호출 될 때 증가합니다. 현재 데이터베이스 (컨텍스트) 버전이 원래 레코드 (엔티티)의 버전과 일치하면 저장이 계속되고, 그렇지 않으면 OptimisticConcurrencyException이 EF에 의해 처리됩니다.
이제 내 관심 분야는 다음과 같습니다. 버전 확인에는 항상 작은 시간이 있지만 작은 것이 있습니다. 이론적으로 누군가 다른 사람이 비교와 실제 저장간에 레코드를 업데이트 할 수 있었기 때문에 데이터가 손상 될 수있었습니다.
어떻게 해결 되나요? 문제가 방금 전진하는 것처럼 느껴집니다.
아, 맞아. 진짜 대답은 내 쿼리 프로필해야합니다 :) – duress