【问题标题】:how to set query timeout for an entitydatasource如何为实体数据源设置查询超时
【发布时间】:2013-11-04 22:43:44
【问题描述】:

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

有人知道如何使用 EntityDataSource 设置查询超时吗?

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多