'VARBINARY (max)'형식 (wav 파일 저장)의 'Wav'열이있는 테이블이 있으며 Linq에서 SQL 로의 wav가 있는지 확인할 수 있기를 원합니다.Linq to SQL을 파생 된 열로 변환하는 방법은 무엇입니까?
내 첫 번째 방법은 Linq에에서 다음을 수행 하였다 :
var result = from row in dc.Table
select new { NoWav = row.Wav != null };
는 RAM 모든 바이너리 컨텐츠를 retreive 것입니다 위의 코드의 문제, 이것은 (좋은 느리고 메모리를 배가 아니다).
SQL에서 bellow와 비슷한 형태로 Linq 쿼리를 어떻게 변환 할 수 있습니까?
SELECT (CASE WHEN Wav IS NULL THEN 1 ELSE 0 END) As NoWav FROM [Update]
내 DBML의 'Wav'속성이로드 지연으로 설정되어 있습니다. 이상한 동작을 설명합니까? – bounav
디버거에서 명령문을 단계적으로 실행하고 방출 된 실제 SQL 문을 추적하십시오. 그게 당신이 당신의 질문에 명확하게 대답 할 수있는 유일한 방법 일 것입니다 : bruno에서 아래의 답변과 나는 당신의 BLOB을 가져 오지 않는 것이 좋습니다. 속도가 느린 이유는 RAM으로 전송되는 바이너리 데이터와 아무 관련이 없습니다. 느린 부분을 찾기 위해 추적 및 스톱워치 문을 추가하고 쿼리를 찾기 위해 SQL 프로파일 러를 추가하십시오 –