次のコードを使用して、保留中のEF DB移行があるかどうかを確認しています。EFコードのDbMigrator最初のデータベースマイグレーションはマスターデータベースへのアクセスが必要です
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のSQL DBに対して使用すると失敗します。 注意AzureのSQL Serverバージョンでは、sqlユーザーにデフォルトデータベースを割り当てることはできません。
この問題の修正または回避策はありますか?
例外:
サーバープリンシパル "O-someuser" は、現在のセキュリティコンテキストの下でデータベース "マスター" にアクセスすることができません。データベース 'master' on サーバー 'xyz.westus1-a.worker.database.windows.net'は現在利用できません 後で接続を再試行してください。 の問題が解決しない場合は、カスタマーサポートに連絡し、 トレースIDに 'blah blah'というセッションを提供してください。