Увеличьте время ожидания команды SQL при вызове через LINQ Mapping - PullRequest
2 голосов
/ 29 ноября 2011

Вот метод, который мы вызываем для получения результатов БД:

[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.sp_calc_schedule_rates_retrieve")]
        public ISingleResult<sp_calc_schedule_rates_retrieveResult> sp_calc_schedule_rates_retrieve([global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Int")] System.Nullable<int> se_sched_id)
        {
            IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), se_sched_id);
            return ((ISingleResult<sp_calc_schedule_rates_retrieveResult>)(result.ReturnValue));
        }

Использует этот метод LINQ:

protected internal IExecuteResult ExecuteMethodCall(object instance, MethodInfo methodInfo, params object[] parameters);

Где я могу увеличить время ожидания команды SQL?Наш процесс работает медленнее, чем обычно, и я хочу увеличить время ожидания для определенных вызовов, а затем вернуть его к тому, что было после его завершения.Я знаю, как это сделать, когда у меня есть SQLCommand объект, но это проходит через LINQ и немного сбивает с толку.

1 Ответ

1 голос
/ 22 января 2016

Вы можете установить свойство CommandTimeout класса DataContext внутри OnCreated () , например:

partial void OnCreated()
{
    this.CommandTimeout = 3600; //value in seconds
}
...