/// <summary>
        /// Creates the database.
        /// </summary>
        /// <param name="provider">The provider.</param>
        /// <param name="connectionString">The connection string.</param>
        /// <returns></returns>
        /// <exception cref="Exception">Error instantiating database: " + db + ". " + ex.Message</exception>
        public static IDatabase CreateDatabase(string provider, string connectionString)
        {
            string db = DatabaseConfiguration.GetDatabaseNamespace(provider);
            DatabaseConfiguration databaseConfiguration = new DatabaseConfiguration(connectionString);

            try {
                // Find the class
                Type database = Type.GetType(db);
                // Get it's constructor
                ConstructorInfo constructor = database.GetConstructor(new Type[] { });
                // Invoke it's constructor, which returns an instance.
                Database createdObject = (Database)constructor.Invoke(null);
                // Initialize the connection string property for the database.
                createdObject.Configuration = databaseConfiguration;
                // Pass back the instance as a Database
                return(createdObject);
            } catch (Exception ex) {
                throw new Exception("Error instantiating database: " + db + ". " + ex.Message);
            }
        }