@mletov

Как правильно дожидаться ответа выполнения sql запроса?

Есть достаточно долго выполняющийся SQL запрос

В C# заполняю через него List через EF вот таким вот образом
lstGrafic = db.Database.SqlQuery<GraficInfo>(
                                                            s,
                                                            new SqlParameter("@dateStart", this.dateStart)
                                                        )
                                                        .OrderBy(x => x.VD)
                                                        .ToList();


Получаю ошибку

System.ComponentModel.Win32Exception (0x80004005): Время ожидания операции истекло


Если же проходить в отладчике по шагам или просто поставить после
Thread.Sleep(30 * 1000);
то все отрабатывает норм.

Но такой подход кажется мне костыльным. Есть ли какие-нибудь хорошие практики правильной обработки ожидания результата от sql запроса?
  • Вопрос задан
  • 769 просмотров
Решения вопроса 1
NightmareZz
@NightmareZz
Нищий разработчик из Симферополя
Используй async/await. Дожидаться нужно в отдельном потоке.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@PushMeNow
.NET Developer
используйте библиотеку TPL или async/await. просто когда вам понадобится ответ из БД просто включаете "ждуна" (метод wait для TPL, await для async) и когда он отработает, делайте что хотите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы