0

我有一个使用绑定到EntityDataSource的 gridview 的 C# webform 。
现在,当我运行一个广泛的查询时,我的底层 sql 查询超时。

任何人都知道如何使用 EntityDataSource 设置查询超时?

我发现一些文章说明了如何使用 SqlDataSource 而不是 EntityDataSource 来做到这一点。

谢谢你。

4

1 回答 1

0

您可以使用连接字符串设置超时。

从 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;
于 2013-11-04T22:59:04.360 回答