Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架:处理底层提供程序无法打开的错误_C#_Entity Framework_Database Connection_Azure Sql Database_General Network Error - Fatal编程技术网

C# 实体框架:处理底层提供程序无法打开的错误

C# 实体框架:处理底层提供程序无法打开的错误,c#,entity-framework,database-connection,azure-sql-database,general-network-error,C#,Entity Framework,Database Connection,Azure Sql Database,General Network Error,在实体框架中处理网络错误的最佳方法是什么?每次我与Azure SQL数据库的internet连接不良时,都会出现以下错误: 基础提供程序在打开时失败。 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器 我知道这个错误是由工作中互联网连接的稳定性引起的,所以我不想修复这个错误,而是要优雅地处理它 我可以使用try-catch,但是我必须修改试图使用连接的每个类中的每一行 另一种方法是为连接使用存储库并在那里处理错误,但重构代码的每一部分都需要花费大量

在实体框架中处理网络错误的最佳方法是什么?每次我与Azure SQL数据库的internet连接不良时,都会出现以下错误:

基础提供程序在打开时失败。
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器

我知道这个错误是由工作中互联网连接的稳定性引起的,所以我不想修复这个错误,而是要优雅地处理它

我可以使用try-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
Context DB=newcontext();
List lista=新列表();
List listaTemporal=新列表();
listaTemporal=DB.Personas.Where(one=>one.Activo==true&&
1.FechaEstadoInicialSAP!=null)
.ToList();//由于异常,它在这里停止

这是一个很好的指针,其中包含用于实施重试策略的代码示例:

谢谢,
Mihaela

使用
尝试catch
block.thks这就是我要找的。