Entity Framework: обработать ошибку, не удается открыть базовый поставщик
Каков наилучший способ обработки сетевых ошибок в Entity Framework? Каждый раз, когда у меня плохое интернет-соединение с базой данных SQL Azure, я получаю следующую ошибку:
Основной поставщик не удалось открыть.
При установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен.
Я знаю, что эта ошибка вызвана стабильностью интернет-соединения на работе, поэтому я не пытаюсь исправить ошибку, а стараюсь изящно ее обработать.
Я мог бы использовать попытку catch, но мне придется изменить каждую строку в каждом классе, который пытается использовать соединение.
Одна альтернатива - использовать хранилище для соединения и обрабатывать там ошибки, но на рефакторинг каждой части кода уйдет много времени. Поэтому я ищу альтернативы.
Пример
Context DB = new Context();
List<Persona> lista = new List<Persona>();
List<Persona> listaTemporal = new List<Persona>();
listaTemporal = DB.Personas.Where(one => one.Activo == true &&
one.FechaEstadoInicialSAP != null)
.ToList(); // it stops here because of the exception
1 ответ
Вот хороший указатель с примерами кода для реализации стратегии повторения: https://msdn.microsoft.com/en-us/data/dn456835.aspx?f=255&MSPPError=-2147217396
Спасибо михаэла