EF Code First数据库迁移中的DbMigrator需要访问主数据库

时间:2016-12-28 23:02:08

标签: c# sql-server entity-framework azure ef-migrations

我使用以下代码检查是否有任何待处理的EF DB迁移。

var dbConnectionInfo = new DbConnectionInfo(dbConnectionString, "System.Data.SqlClient");
var migratorConfig = new Configuration
{
    TargetDatabase = dbConnectionInfo
};
var dbMigrator = new DbMigrator(migratorConfig);
// the following line throws SqlException when run against SQL Server in Azure
var pendingMigrations = dbMigrator.GetPendingMigrations().ToList();
var pendingMigrationsCount = pendingMigrations.Count;

当我在Azure中使用它时,它失败了。 注意无法在Azure中的SQL Server版本中为sql用户分配默认数据库。

是否有修复或解决方法?

例外:

  

服务器主体“O-someuser”无法访问数据库   当前安全上下文下的“ master ”。数据库' master 'on   服务器'xyz.westus1-a.worker.database.windows.net'目前不在   可用。请稍后重试连接。如果问题   坚持,联系客户支持,并为他们提供会话   追踪'blah blah'的ID。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我们可以连接到Azure SQL服务器。请尝试创建一个新的登录尝试它。它适用于我。详情请参阅截图。

  

默认的管理员用户也为我工作。

enter image description here

enter image description here