我有一个C#webform,它使用绑定到 EntityDataSource 的网格视图。
现在,当我运行一个广泛的查询时,我在底层的sql查询上得到了超时。
任何人都知道如何使用EntityDataSource设置查询超时?
我发现了一些文章,说明如何使用SqlDataSource但不使用EntityDataSource。
谢谢。
答案 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;