MySql.Data.MySqlClient.MySqlProviderServices.DbCreateDatabase C# (CSharp) Method

DbCreateDatabase() protected method

protected DbCreateDatabase ( DbConnection connection, int commandTimeout, System.Data.Metadata.Edm.StoreItemCollection storeItemCollection ) : void
connection DbConnection
commandTimeout int
storeItemCollection System.Data.Metadata.Edm.StoreItemCollection
return void
    protected override void DbCreateDatabase(DbConnection connection, int? commandTimeout, StoreItemCollection storeItemCollection)
    {
      if (connection == null)
        throw new ArgumentNullException("connection");
      MySqlConnection conn = connection as MySqlConnection;
      if (conn == null)
        throw new ArgumentException(Resources.ConnectionMustBeOfTypeMySqlConnection, "connection");

      string query = DbCreateDatabaseScript(null, storeItemCollection);

      using (MySqlConnection c = new MySqlConnection())
      {
        MySqlConnectionStringBuilder sb = new MySqlConnectionStringBuilder(conn.ConnectionString);
        string dbName = sb.Database;
        sb.Database = null;
        c.ConnectionString = sb.ConnectionString;
        c.Open();

        string fullQuery = String.Format("CREATE DATABASE `{0}`; USE `{0}`; {1}", dbName, query);
        MySqlScript s = new MySqlScript(c, fullQuery);
        s.Execute();
      }
    }