2013-06-11 4 views
1

내 MVC 4 응용 프로그램이 Entity Framework 5를 해당 ORM으로 사용하고 있습니다. 그리고 Oracle 10 데이터베이스가 백엔드로 사용됩니다. MVC 뷰는 Oracle DB Views의 데이터를 표시하고 있으며 데이터베이스 스키마를 제어 할 수 없습니다. 뷰는 업데이트 가능하며 동시성을 관리해야합니다. 원본으로 사용하는 테이블/뷰에는 시간 소인 정렬 열이 없습니다. 그런 시나리오에서 어떻게 동시성을 관리 할 수 ​​있습니까?MVC 프로젝트에서 EF를 통해 Oracle View를 업데이트하는 동안 동시성을 관리하는 방법은 무엇입니까?

이것에 대한 조언은 매우 감사하겠습니다.

+0

다른 시스템에서 Oracle을 업데이트하고 있습니까? 아니면 귀하의 웹 사이트가 유일한 항목입니까? –

+0

다른 웹 사이트가 업데이트되고 있는지 잘 모르겠습니다. 고객이 더 자세한 정보를 제공 할 수 없습니다. 그러나 그것은 어떤 차이가 있습니까? – Nirman

+0

웹 사이트와 별개로 시나리오가 변경 될 수 있다는 아이디어를 얻는 것이 었습니다. 나는 생각할 것이다 ... –

답변

2

늦게 답변을 드려 죄송합니다. 데이터베이스에 액세스 할 수 없기 때문에 2 명의 사용자가 동일한 레코드에서 편집을 요청하는 것을 방지하기 란 쉽지 않습니다 (예를 들어 웹에서이 작업을 수행 할 수있는 총알이 없음을 확신하지 못합니다. 신청). 사용자가 검색 한 시간과 변경 제출 시간 사이에 수정 된 개체를 편집하지 못하게 할 수 있습니다. MVC 애플리케이션에서보기 모델을 사용하여 화면에 도메인 모델 객체를 표시한다고 가정합니다. 검색시 개체의 상태를 기반으로 계산 된 해시 필드를보기 모델의 추가 필드로 포함 할 수 있습니다. 편집이 게시되면 데이터베이스에서 레코드를 다시 검색하고 현재 해시를 MVC 뷰에서 제출 한 해시와 비교해야합니다. 불일치의 경우 변경 사항을 사용자에게 알리고 데이터베이스에있는 값을 사용자에게 알려 (예 : 모델 상태 오류를 추가하여) 값을 표시합니다.

+1

정확히 내가 무엇을 찾고 있었습니까. 고마워요 :) – Nirman

+0

다행이 될 수있어 :) – JTMon

관련 문제