4

我在处理长 sql 查询时遇到超时问题,长查询超时的数据集是:

static public DataSet Getxxxx(Guid xxxx)
{
    DataSet ds = SqlHelper.ExecuteDataset(ConnectionString, CommandType.StoredProcedure, "GetAllxx", new SqlParameter("@productxx", productxx));

    return ds;
}

我在哪里可以设置超时,我使用的是 Microsoft 应用程序块 2.0 版。

4

1 回答 1

3

数据访问应用程序块SqlHelper已被'Database' 淘汰,因此您需要显式创建 aDbCommand并将其传递给Database.ExecuteDataSet. 然后,您可以设置CommandTimeout属性,以覆盖默认值 30 秒。例如,这会将超时设置为 200 秒:

using (DbCommand command = this.Database.GetStoredProcCommand("GetAllxx"))
{
    Database.AddInParameter(command, "@productxx", DbType.Int32, productxx);
    command.CommandTimeout = 200;
    return Database.ExecuteDataSet(command);
}
于 2012-01-16T15:53:11.253 回答