Ejemplo n.º 1
0
 void IDatabaseDDLProvider.CreateDatabase(DatabaseInfo dbInfo)
 {
     if (dbInfo.DbProvider != DbProviders.SqlServer)
     {
         throw new InvalidOperationException("Invalid database provider");
     }
     using (var sqlConnection = GetConnectionFactory(BuildMasterDatabaseConnectionString(dbInfo))())
     {
         sqlConnection.Open();
         var sqlRunner = new AdhocSqlRunner(() => sqlConnection.CreateCommand());
         sqlRunner.ExecuteNonQuery(@"CREATE DATABASE [@database]".Replace("@database", dbInfo.InitialCatalog));
     }
 }
Ejemplo n.º 2
0
        void IDatabaseDDLProvider.DropDatabase(DatabaseInfo dbInfo)
        {
            using (var sqlConnection = GetConnectionFactory(BuildMasterDatabaseConnectionString(dbInfo))())
            {
                sqlConnection.Open();
                var sqlRunner = new AdhocSqlRunner(() => sqlConnection.CreateCommand());
                sqlRunner.ExecuteNonQuery(@"
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'@database')
BEGIN 
    ALTER DATABASE [@database] 
    SET OFFLINE 
    WITH ROLLBACK IMMEDIATE;

    ALTER DATABASE [@database]
    SET ONLINE;

    DROP DATABASE [@database]; 
END
".Replace("@database", dbInfo.InitialCatalog));
            }
        }