我在EF Migration中运行SQL()命令时遇到SQL Timeout。
情况: 我正在用一个表替换一堆(> 50)表,并且需要将那些表中的数据转换为即将放入新表中的数据。我通过以下方式组织了迁移:
1.创建新表。
3.Drop所有旧表。
目前,迁移会出现以下错误:
System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
错误发生在我给他们安装程序的环境中,他们在没有我参与的情况下运行它,因此我无法手动运行单个迁移,并在中间暂停以运行SQL脚本。
有没有办法改变连接的超时,或解决这个问题?
环境:
EF 6.0 Code First
SQL Server 2012
答案 0 :(得分:4)
请参阅此answer。
使用Configuration.cs文件设置自定义超时:
内部密封类配置:
$cordovaInAppBrowser.open('geo:0,0?q=<latitude>,<longitude>', '_system');
使用此方法,您可以仅为迁移更改超时,而不是每个人都使用默认连接字符串。
答案 1 :(得分:2)
您应该能够在连接字符串中设置连接超时,例如:
Connection Timeout=180;