2017-09-18 12 views
0

Hej,EntityFramework 6 메모리 부족 예외

압축 된 큰 파일을 보유하고있는 테이블이 있습니다.

Ef6을 통해 해당 파일을 읽으려고합니다. 메모리 부족 예외가 발생합니다.

도움을 주시면 감사하겠습니다.

var payload = repositoryContext.Set<DocumentStore>() 
    .Include(document => document.DocumentStorePayloadData) 
    .Single(document => document.Id == 
documentStoreId).DocumentStorePayloadData;`` 
+0

파일 내용의 크기는 어느 정도입니까? 32 또는 64 비트 프로세서를 실행하고 있습니까? 얼마나 사용 가능합니까 (작업 관리자의 가치가있을 것입니까?) RAM에 기계가 있습니까? – Richard

+0

파일 내용의 바이트 크기는 571899516입니다. 64 비트 프로세서에서 실행 중입니다. 16GB 사용 가능 램 – user3661407

+0

~ 0.5GB. 32 비트 프로세스입니까? 프로세스 주소 할당이란 무엇입니까? 나는 당신이 32 비트이고 2GB 주소 공간에서 무료 0.5GB 연속 블록이 없다고 생각합니다. – Richard

답변

0

디버그와 비주얼 스튜디오에서이 작업을 실행하는 경우, 나는 그것이 32 비트로 실행 생각처럼

내 코드입니다. 컴퓨터에서 IIS가 64 비트로 실행되고 있다면 디버거를 통하지 않고 실행할 수 있는지 확인하십시오. 그렇지 않으면 500MB의 파일을로드하는 데 문제가 발생할 수있는 총 2GB의 RAM 만 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그것은 데이터베이스에서 큰 페이로드를 가져 오는 것을 시도하는 콘솔 어플리케이션의 일종입니다. 해결 방법을 알고 계십니까? 나는 Google에서 검색 한 후에 많은 옵션을 시도했지만 도움이되지 않았습니다. – user3661407

+0

콘솔 앱인 경우 프로젝트 속성을 마우스 오른쪽 버튼으로 클릭하여 강제로 x64 이하로 빌드 할 수 있습니다. 그렇다면 VS를 디버깅하지 않고 직접 배포하거나 .exe 파일을 직접 실행해야합니다. –

+0

나는 그것을 시험해 보았다. 도움이되지 않았다. 너는 다른 아이디어가 있니? – user3661407