Я недавно начал использовать LinqPad, купил опцию автозаполнения, и мне она очень нравится. Это отличный товар!
Я хотел спросить, есть ли у меня способ контролировать тайм-аут команды, который используется при запросе базы данных SQL Server в LinqPAD (я использую операторы C #)? Я не вижу, где у нас есть доступ к фактической строке подключения, и у меня есть несколько больших запросов для отчетов, срок действия которых истекает. Похоже, что таймаут жестко запрограммирован на 30 секунд.
Заранее благодарим за любую помощь!
Как упоминалось в @ DaveShaw's answer при запросе базы данных SQL Server в LinqPAD с использованием «обычного» соединения, вы можете использовать:
this.CommandTimeout = 60
Однако это свойство недоступно когда LinqPad подключается к БД с помощью EF-библиотеки . Использование this.CommandTimeout
приводит к:
«UserQuery» не содержит определения для «CommandTimeout», и невозможно найти метод расширения «CommandTimeout», принимающий первый аргумент типа «UserQuery» (нажмите клавишу F4 добавить директиву по использованию или ссылку на сборку)
Некоторое недоумение и ответ об тайм-аутах EF в целом побудили меня использовать это на EF-соединении:
(this as IObjectContextAdapter).ObjectContext.CommandTimeout = 60;