2011-12-09 3 views
14

저는 최근에 LinqPad를 사용하기 시작했고 자동 완성 옵션을 구입하여 정말 좋아했습니다. 이것은 훌륭한 제품입니다!Linqpad에서 어떻게 명령 타임 아웃을 설정합니까?

LinqPAD에서 SQL Server 데이터베이스를 쿼리 할 때 사용되는 명령 시간 제한을 제어 할 수있는 방법이 있는지 묻고 싶습니다 (C# 문을 사용하고 있습니다)? 실제 연결 문자열에 대한 액세스 권한이 어디인지 알 수 없으며 시간 초과되는보고를위한 몇 가지 큰 쿼리가 있습니다. 시간 제한은 30 초로 하드 코딩 된 것으로 보입니다.

미리 도움을 청하십시오!

답변

15

몇 분이 걸렸으며 명령 시간이 초과 된 쿼리를 실행했습니다. 즉 여기


... 당신이 그것을 변경하는 방법을 당신이 UserQuery 내에서 수행하는 모든 작업입니다 말했다. CommandTimeout은 그 자산입니다.

this.CommandTimeout = 60; 

this 아래의 모든 속성을 살펴보십시오. 할 수있는 일에 대한 좋은 통찰력을 제공합니다.

+0

감사합니다! (특히 가까운 즉각적인 응답을 위해! (이 코드를 체크하지 않은 자신을 차버 렸습니다!) (어쨌든, 그것은 내 자신의 코드로 하루에 수 백만 번합니다!) 어쨌든 완벽하게 작동했습니다! – blairh

+0

좋은 기능입니다 , 왜 더 잘 문서화되지 않았는지 모르겠다. – DaveShaw

+0

@ user1090088 - SO 스타일을 유지하면서 대답을 받아 들일 수 있겠는가 : http://stackoverflow.com/faq#howtoask? Thanks. – DaveShaw

7

는 '일반'연결을 사용 LinqPAD에서 SQL Server 데이터베이스를 조회 할 때 @DaveShaw's answer에서 언급 한 바와 같이, 당신은 사용할 수 있습니다

this.CommandTimeout = 60 

그러나,이 속성이 때 LinqPad connects to DB using an EF-library 사용할 수 없습니다.

가 는

'UserQuery'CommandTimeout이 '의 정의없이 연장 방법 "CommandTimeout이'타입 'UserQuery'의 첫번째 인수에 동의를 포함하지 않는 볼 수 (프레스 F4는 사용을 추가하려면 다음에 this.CommandTimeout 결과를 사용 지시문 또는 어셈블리 참조)

일부 수수께끼이 대답 about EF time-outs in general는 EF-연결이 사용하는 저를지도 한 :

(this as IObjectContextAdapter).ObjectContext.CommandTimeout = 60; 
관련 문제