1

Entity Framework 4.3.1을 사용하여 1,000 개의 고유 테이블 행을 병렬로 병렬로 삽입, 업데이트, 삭제할 수 있습니까?Entity Framework 4.3.1에서 병렬 삽입, 업데이트, 삭제

어떨까요? 병렬 프레임 워크 작업? 실? 다른 것?

+0

dbContext는 threadsafe가 아니기 때문에 나는 풀을 만들고 풀에서 작업을 실행합니다. 나머지는 데이터베이스, 트랜잭션 수준 및 관련 테이블에 따라 다릅니다. –

답변

0

TPL을 사용하면이 작업을 수행 할 수 있지만 EF는 의심 스럽습니다. ADO.NET을 사용하면 해당 호출이 동일한 행 (업데이트 가능성이 높은 경우)에 대해 수행되는 경우 CommandText가 각 호출마다 고유해야합니다. 따라서 업데이트 당 새 연결을 만들어 닫아야 할 수도 있습니다. 연결 풀을 사용하는 것은 선택 쿼리에 대해서만 의미가 있습니다. 다른 스레드가 동일한 작업을 수행 할 때 다른 스레드가 동일한 테이블을 업데이트하게하고 싶지는 않습니다. 삽입물은 문제가되지 않습니다. 삭제가 어떻게 될지 나는 알지 못합니다. 행이 이미 삭제 된 경우 무언가를 반환하고 사용하지 않으면 아무 일도 일어나지 않습니다.

당신이 할 수있는 일은 컬렉션에 항목을 복사하고 (기존 항목을 삭제할 수있는 업데이트) 대량 삽입을하는 것입니다.

알아 내기 위해 테스트해야합니다!

관련 문제