2010-08-11 5 views
2

SQL Server와 작동하는 응용 프로그램을 개발 중이며 여러 원본의 데이터를 읽고 업데이트합니다. 그 때문에의Entity Framework 동시성

어떻게 그 문제를 해결할 수있는 .... 하나의 업데이트가 이미 데이터를 업데이트하는 문제가있다? (EF는 동시성 모드를 내장하고 있습니다.하지만 제대로 이해하면 설계가 작동하지 않을 때마다 contextobject가 생성되어 삭제됩니다)

답변

3

비밀은 일반적으로 타임 스탬프 필드를 사용하여 값과 비교합니다 귀하의 개체에서 전에 당신은 데이터베이스에 커밋합니다. 이 주제에 관한 기사가 here입니다.

+0

이 기사에서는 동시성 모드, 바스트에 대해 언급했다. 내 컨텍스트 개체를 다시 만들면 작동하지 않을 것이라고 생각한다. – shivesh

+0

타임 스탬프의 동시성 모드를 고정으로 설정하면 타임 스탬프가 변경되지 않아도됩니다. 들어오는 데이터를 컨텍스트에 첨부 할 때. 그런 다음 타임 스탬프가 이전 타임 스탬프 세션에서 이전에 검색 한 타임 스탬프와 일치하지 않으면 레코드가 변경되면 업데이트가 실패합니다. 그 기사가 말하는 것 같습니다. – Lazarus

+0

나는 모든 데이터베이스 작업에 대해 동일한 컨텍스트 개체를 유지하는 경우에만 작동하지만, 새로운 컨텍스트 개체를 만들 때마다 (var context = new EntityContext())를 사용하면 작동하지 않습니다. 그렇지 않습니까? – shivesh