如何在Linqpad中设置命令超时?

bla*_*irh 17 timeout linqpad command-timeout

我最近开始使用LinqPad,并购买了Autocomplete选项,我非常喜欢它.这是一款出色的产品!

我想询问是否有办法控制在LinqPAD中查询SQL Server数据库时使用的命令超时(我正在使用c#语句)?我无法看到我们可以访问实际连接字符串的位置,并且我有一些大型查询报告超时.似乎超时在30秒时被硬编码.

在此先感谢您的帮助!

Dav*_*haw 16

我已经运行了几分钟的查询,并且从未执行过命令.也就是说,这是你改变它的方式......


你在里面完成的所有工作UserQuery.这CommandTimeout是属性.

this.CommandTimeout = 60;
Run Code Online (Sandbox Code Playgroud)

看看下面的所有属性this.它可以让您深入了解您可以做的一些事情.


Yah*_*ous 9

正如@ DaveShaw在使用"常规"连接查询LinqPAD中的 SQL Server数据库时所提到的那样,您可以使用:

this.CommandTimeout = 60
Run Code Online (Sandbox Code Playgroud)

但是,当LinqPad使用EF库连接到DB时,此属性不可用.使用this.CommandTimeout结果:

'UserQuery'不包含'CommandTimeout'的定义,并且没有扩展方法'CommandTimeout'接受类型'UserQuery'的第一个参数可以找到(按F4添加using指令或程序集引用)

一些令人费解的问题以及关于EF超时的答案一般让我在EF连接上使用它:

(this as IObjectContextAdapter).ObjectContext.CommandTimeout = 60;
Run Code Online (Sandbox Code Playgroud)


Adr*_*ian 5

对于 Entity Framework Core 连接,改用以下属性。
this.Database.SetCommandTimeout(120);