서비스 계층이있는 MVC 응용 프로그램에서 Entity Framework 6.1.1 (SQL Server 백 엔드)을 사용하고 있습니다.Entity Framework에서 사용 가능한 다음 행을 얻습니다.
데이터베이스에서 행을 가져 오기 위해 서비스 계층에서 데이터베이스를 읽으려는 경우, 다음 읽기를 중지하도록 처리 중임을 알리기 위해 무언가를 업데이트 한 다음 반환하십시오.
기본적으로 2 명의 사용자가 동일한 서비스를 호출하는 경우 첫 번째 읽기가 레코드를 업데이트 할 때 서로 다른 행을 갖게됩니다 (열 "처리 중"을 true로 변경한다고 가정). 두 번째 읽기는이 레코드를 건너 뛰고 다음 레코드로 이동합니다.
EF에서 일반적인 linq 쿼리를 사용하여이 작업을 수행 할 수있는 방법을 생각할 수 없습니다. 내가 그것을 할 수있는 유일한 방법은 저장 프로 시저를 사용하는 것입니다. 나는 SP에서 그것을하는 방법을 아직 100 % 확실하지는 않지만. 그게 유일한 옵션이라면 나는 더 조사 할 것이다.
EF를 사용하여이 작업을 수행 할 수 있습니까?
이 모든 것이 실제로 실제로 너무 빠르다는 이유는 무엇입니까? – Derek
Processing <> true 인 행만 선택하고 다음 행을 그렇게 얻을 수 있습니까? – timothyclifford
@Derek 바쁜 웹 사이트에서는 확실히 발생합니다. 읽기를 수행 한 다음 업데이트를 수행하는 데 걸리는 시간이 변경됩니다. – eyeballpaul