【问题标题】:TimeoutExpired when using EF6 MainContextDropInitializer on SQL Azure在 SQL Azure 上使用 EF6 MainContextDropInitializer 时超时过期
【发布时间】:2015-11-06 11:02:27
【问题描述】:

我在 SQL Azure 上有一个数据库,当我运行自动化单元测试时,我尝试删除数据库并重新创建它。

上下文的构造函数是:

public MainContext(bool dropDB)
            : base("Main")
        {

            Database.CommandTimeout = 300;
            this.Configuration.LazyLoadingEnabled = true;
            System.Data.Entity.Database.SetInitializer<MainContext>(new MainContextDropInitializer());

            this.Database.Connection.StateChange += Connection_StateChange;
        }

但是在尝试执行代码时,我不断收到以下错误:

超时。在完成之前超时时间已过 操作或服务器没有响应。

数据库本身非常小,因此将命令超时设置为 300 就足够了。有趣的是,此问题仅在我们将 Azure DB 升级到 v12 后才出现。

有什么想法吗?

【问题讨论】:

    标签: database entity-framework azure azure-sql-database


    【解决方案1】:

    你看过这个文档https://msdn.microsoft.com/en-us/data/dn456835.aspx 吗?它讨论了如何使用 sqlazure 执行策略来进行瞬态故障处理和重试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      相关资源
      最近更新 更多