如何在连接字符串中设置Entity Framework 4的CommandTimeout?

19 浏览
0 Comments

如何在连接字符串中设置Entity Framework 4的CommandTimeout?

在app.config中的连接字符串中指定commandTimeout是否可行?

根据这个SO问题:Entity Framework with MySQL - Timeout Expired while Generating Model,以下内容应该有效:

  

然而,它并不起作用-抛出异常,说Default Command Timeout不是连接字符串的已知部分。

如果我直接在代码中使用以下代码进行设置,它可以正常工作:

        var db = new DataEntities(); // ObjectContext
        db.CommandTimeout = 1;

有人知道如何使用连接字符串或其他本地选项在配置中设置commandTimeout吗?

谢谢。

0
0 Comments

问题出现的原因是无法在连接字符串中设置命令超时。命令是与连接不同的对象。命令可以有一个连接,但它有自己可以设置的超时时间。

解决方法是查看MSDN文档,找到正确的命令超时设置方法。在这个例子中,链接提供了一个MySQL特定的设置方法,但是我们需要找到一个通用的方法。

感谢给出的提示。不幸的是,CommandConnect Timeout都不起作用。仍然出现相同的异常。您可能是指Connection Timeout=60;。然而,这个设置处理的是连接超时,而不是查询等待完成的时间(这是命令超时应该做的事情)。

根据上述内容,我们可以得出结论,无法在连接字符串中设置命令超时。正确的方法是使用命令对象的属性来设置超时时间。

0