2011-12-09 15 views
14

Kısa bir süre önce LinqPad'i kullanmaya başladım ve Otomatik Tamamlama seçeneğini satın aldım ve gerçekten çok seviyorum. Bu mükemmel bir ürün!Linqpad'de Komut Zaman Aşımı nasıl ayarlanır?

LinqPAD'de bir SQL Server veritabanını sorgularken kullanılan komut zaman aşımını kontrol etmenin bir yolu olup olmadığını sormak istedim (C# ifadelerini kullanıyorum)? Gerçek bağlantı dizesine erişebildiğimizi göremiyorum ve raporlama için zaman aşımına uğrayan bazı büyük sorgularım var. Zaman aşımının 30 saniyede sabit kodlanmış olduğu anlaşılmaktadır.

Yardımlarınız için şimdiden teşekkür ederiz!

cevap

15

Birkaç dakika almış ve hiçbir zaman bir komut zaman geçirmemiş olan sorguları çalıştırıyorum. Yani burada


... bunu değiştirmek nasıl bir UserQuery içine gerçekleştirmek işin tamamı olduğunu söyledi. CommandTimeout, bunun bir özelliğidir.

this.CommandTimeout = 60; 

this altındaki tüm özelliklerine bakın. Yapabileceğin bazı şeyler hakkında güzel bir fikir veriyor.

+0

TEŞEKKÜRLER! (Özellikle yakın yanıt için! ('Bu' kontrol etmediğim için kendimi tekmeleyeceğim!) (Kendi kodumda günde bir milyon kez yaptığım göz önüne alındığında!) Her neyse, mükemmel çalıştı! – blairh

+0

Güzel bir özellik. Neden daha iyi belgelenmediğinden emin değilim – DaveShaw

+0

@ user1090088 - Yanıtı SO stili ile uyumlu olarak kabul etmeyi düşünür müsünüz: http://stackoverflow.com/faq#howtoask? Thanks. – DaveShaw

7

bir 'normal' bağlantısını kullanarak LINQPad bir SQL Server veritabanı sorgularken @DaveShaw's answer belirtildiği gibi, şunları kullanabilirsiniz:

this.CommandTimeout = 60 

Ancak, bu özellik zaman LinqPad connects to DB using an EF-library kullanılamaz.

'UserQuery 'CommandTimeout' için bir tanım ve uzatma yöntemi 'CommandTimeout' tür 'UserQuery' bir birinci argüman kabul içermez bulunamadı (basın F4 ile eklemek için: içinde this.CommandTimeout sonuçları kullanarak yönerge veya montaj referans)

Bazı şaşırtıcı ve bu cevap about EF time-outs in general bir EF-bağlantıda bu kullanmak götürdü a:

(this as IObjectContextAdapter).ObjectContext.CommandTimeout = 60;