我有一个使用绑定到EntityDataSource的 gridview 的 C# webform 。
现在,当我运行一个广泛的查询时,我的底层 sql 查询超时。
任何人都知道如何使用 EntityDataSource 设置查询超时?
我发现一些文章说明了如何使用 SqlDataSource 而不是 EntityDataSource 来做到这一点。
谢谢你。
我有一个使用绑定到EntityDataSource的 gridview 的 C# webform 。
现在,当我运行一个广泛的查询时,我的底层 sql 查询超时。
任何人都知道如何使用 EntityDataSource 设置查询超时?
我发现一些文章说明了如何使用 SqlDataSource 而不是 EntityDataSource 来做到这一点。
谢谢你。
您可以使用连接字符串设置超时。
从 msdn如何:定义连接字符串
<connectionStrings>
<add name="AdventureWorksEntities"
connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />
</connectionStrings>
注意相关部分:
Connection Timeout=60;
编辑:
我刚刚在这里读到,当您在实体框架 ConnectionString 中设置 TimeOut 时,存在一个已知错误。因此,您可能希望直接在上下文中设置 TimeOut,如答案中所述。
this.context.CommandTimeout = 60;
或者:
((IObjectContextAdapter)this.context).ObjectContext.CommandTimeout = 60;