如何为entitydatasource设置查询超时

时间:2013-11-04 22:43:44

标签: c# asp.net entity-framework webforms entitydatasource

我有一个C#webform,它使用绑定到 EntityDataSource 的网格视图。
现在,当我运行一个广泛的查询时,我在底层的sql查询上得到了超时。

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

我发现了一些文章,说明如何使用SqlDataSource但不使用EntityDataSource。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用connectionstring设置超时。

来自msdn How to: Define the Connection String

<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;

修改

我刚刚阅读here在实体框架ConnectionString中设置TimeOut时存在已知错误。因此,您可能希望直接在上下文中设置TimeOut,如答案中所述。

this.context.CommandTimeout = 60;

或者:

((IObjectContextAdapter)this.context).ObjectContext.CommandTimeout = 60;