Entity framework 在运行EF 6迁移之前,是否可以将现有数据库放入单个用户中?
在迁移现有数据库之前,有没有办法将其置于单用户模式 我想做如下事情,尽管这不起作用:Entity framework 在运行EF 6迁移之前,是否可以将现有数据库放入单个用户中?,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,在迁移现有数据库之前,有没有办法将其置于单用户模式 我想做如下事情,尽管这不起作用: var connectionString = "";// Connection string pointing to MASTER database on server var sqlConnection = new SqlConnection(); sqlConnection.Open(); ExecuteNonQuery(
var connectionString = "";// Connection string pointing to MASTER database on server
var sqlConnection = new SqlConnection();
sqlConnection.Open();
ExecuteNonQuery(
sqlConnection,
"USE MASTER");
ExecuteNonQuery(
sqlConnection,
$"ALTER DATABASE [TargetDatabaseToMigrate] SET AUTO_UPDATE_STATISTICS_ASYNC OFF");
ExecuteNonQuery(
sqlConnection,
$"ALTER DATABASE [TargetDatabaseToMigrate] SET SINGLE_USER WITH ROLLBACK IMMEDIATE");
TargetDatabaseContext ctx = new TargetDatabaseContext(sqlConnection, false);
if(!ctx.Database.CompatibleWithModel(true))
{
var migrator = new MigrateDatabaseToLatestVersion<TargetDatabaseContext, Migrations.Configuration>(true);
migrator.InitializeDatabase(ctx);
}
ExecuteNonQuery(
sqlConnection,
$"ALTER DATABASE [TargetDatabaseToMigrate] SET MULTI_USER");
ExecuteNonQuery(
sqlConnection,
$"ALTER DATABASE [TargetDatabaseToMigrate] SET AUTO_UPDATE_STATISTICS_ASYNC ON");
除此之外:
throw new InvalidOperationException(Strings.SqlProvider_CredentialsMissingForMasterConnection, e);
有没有办法做到这一点?多谢各位
throw new InvalidOperationException(Strings.SqlProvider_CredentialsMissingForMasterConnection, e);