SmartCodeGenerator Implements Asp.Net ProviderPattern and DBSchemaProvider class comes with the following signature.
public abstract class DBSchemaProvider : ProviderBase
{
// Methods
protected DBSchemaProvider();
public abstract ParameterSchemaCollection GetCommandParameters(CommandSchema command);
public abstract CommandResultSchemaCollection GetCommandResultSchemas(CommandSchema command);
public abstract CommandSchemaCollection GetCommands(DatabaseSchema database);
public abstract string GetCommandText(CommandSchema command);
public abstract string GetDatabaseName(DatabaseSchema database);
public abstract string GetDescription();
public abstract ExtendedPropertyCollection GetExtendedProperties(SchemaBase schemaObject);
public abstract string GetName();
public abstract ColumnSchemaCollection GetTableColumns(TableSchema table);
public abstract DataTable GetTableData(TableSchema table);
public abstract IndexSchemaCollection GetTableIndexes(TableSchema table);
public abstract TableKeySchemaCollection GetTableKeys(TableSchema table);
public abstract PrimaryKeySchema GetTablePrimaryKey(TableSchema table);
public abstract TableSchemaCollection GetTables(DatabaseSchema database);
public abstract ViewColumnSchemaCollection GetViewColumns(ViewSchema view);
public abstract DataTable GetViewData(ViewSchema view);
public abstract ViewSchemaCollection GetViews(DatabaseSchema database);
public abstract string GetViewText(ViewSchema view);
public static DBSchemaProvider Instance();
public static DBSchemaProvider Instance(string providerName);
}All you have to do is implement all these methods for any specific DBSchemaProviders.
For an implementation of MySqlDBSchemaProvider please refer
to this post at Team Blog of SmartCodeGenerator.
You can also download the same sourcecode from CodePlex.