实体框架弹性和重试逻辑

时间:2019-03-04 06:27:17

标签: entity-framework entity-framework-6 azure-functions

像这样向我的Azure SQL服务器添加数据时,我会遇到很多错误:

  

提出了一个异常,可能是由于瞬态   失败。如果要连接到SQL Azure数据库,请考虑使用

我可以在以下链接上看到可以实施天蓝色策略:

https://docs.microsoft.com/en-us/ef/ef6/fundamentals/connection-resiliency/retry-logic

在本文中,说明了可以使用标准的Azure策略:

public class MyConfiguration : DbConfiguration
{
    public MyConfiguration()
    {
        SetExecutionStrategy("System.Data.SqlClient", () => new SqlAzureExecutionStrategy());
    }
}

但是,它描述了如何将其应用于DbContext。任何人都可以尝试并可以分享Som经验吗?它不是核心版本,而是通过功能实现的。在9000个呼叫中,大约有1000个失败,因此会出现很多错误。

1 个答案:

答案 0 :(得分:0)

您可以在上下文类上使用DbConfigurationType属性,并指定要使用MyConfiguration类:

[DbConfigurationType(typeof(MyConfiguration))]
public class DataContext : DbContext, IDataContext
{
    ...
}