我的命令一直超时,因此我需要更改默认的命令超时值。
我找到了 myDb.Database.Connection.ConnectionTimeout
,但它是只读的。
我该如何在 Entity Framework 5 中设置命令超时?
我的命令一直超时,因此我需要更改默认的命令超时值。
我找到了 myDb.Database.Connection.ConnectionTimeout
,但它是只读的。
我该如何在 Entity Framework 5 中设置命令超时?
您应该在web.config中的Connection String标签中进行更改,并在其构造函数中使EntityFrameWork从中读取。
将此术语添加到web.config Connection String中: Connection Timeout=300;
在构造函数中添加以下代码:
Database.CommandTimeout = Database.Connection.ConnectionTimeout;
通过这种方法,您将使用户能够控制超时时间,而无需为他进行新的发布。
Database.CommandTimeout
不再是只读的。 - itshoDatabase.Connection.ConnectionTimeout
。无论如何,我认为如果你的查询超时(异常System.Data.Entity.Core.EntityCommandExecutionException
包含System.Data.SqlClient.SqlException: Timeout expired.
),那么Database.CommandTimeout
才是正确的选择。 - David Ferenczy Rogožan