2016-12-28 2 views
0

Ich verwende den folgenden Code, um zu prüfen, ob EF DB-Migrationen ausstehen.DbMigrator im EF-Code Erste Datenbankmigrationen benötigen Zugriff auf die Master-Datenbank

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; 

Es schlägt fehl, wenn ich es mit einer SQL DB in Azure verwende. Hinweis, dass sql-Benutzer in den SQL Server-Versionen in Azure keine Standarddatenbank zugewiesen werden kann.

Gibt es eine Lösung oder einen Workaround dafür?

Ausnahme:

Der Server Haupt "O-einbenutzer" ist nicht in der Lage auf die Datenbank zugreifen "Master" unter dem aktuellen Sicherheitskontext. Datenbank 'Master' auf Server 'xyz.westus1-a.worker.database.windows.net' ist derzeit nicht verfügbar. Bitte versuchen Sie die Verbindung später erneut. Wenn das Problem weiterhin besteht, wenden Sie sich an den Kundensupport und geben Sie ihm die Sitzung Tracing ID von 'blah blah'.

Antwort

0

Wenn wir auf die Azure SQL-Server verbinden kann. Versuchen Sie bitte, ein neues Login zu erstellen, um es zu testen. Es funktioniert richtig für mich. Detailinfo entnehmen Sie bitte dem Screenshot.

Der Standardbenutzer admin ist auch für mich gearbeitet.

enter image description here

enter image description here

Verwandte Themen