I've made some quick fix in OracleDataProvider.cs, so this can be managed. To who can i send so it'll be verified and approved to be in SubSonic's futures releases?
public class OracleDataProvider : DataProvider
{
private bool _isOracleCaseSensitive = true;
public bool IsOracleCaseSensitive {
get { return _isOracleCaseSensitive; }
set { _isOracleCaseSensitive = value; }
} (...)
(...)
public override TableSchema.Table GetTableSchema(string tableName, TableType tableType)
{
TableSchema.TableColumnCollection columns = new TableSchema.TableColumnCollection();
TableSchema.Table tbl = new TableSchema.Table(tableName, tableType, this);
//tbl.ClassName = Convention.ClassName(tableName);
//string sql = TABLE_COLUMN_SQL;
QueryCommand cmd;
if (IsOracleCaseSensitive)
cmd = new QueryCommand(TABLE_COLUMN_SQL, Name);
else
cmd = new QueryCommand(TABLE_COLUMN_SQL_CASE_INSENSITIVE, Name);
cmd.AddParameter(TABLE_NAME_PARAMETER, tableName, DbType.AnsiString);
TableSchema.TableColumn column;
(...)
private const string TABLE_COLUMN_SQL_CASE_INSENSITIVE = "SELECT user, a.table_name, a.column_name, a.column_id, a.data_default, " +
" a.nullable, a.data_type, a.char_length, a.data_precision, a.data_scale " +
" FROM user_tab_columns a " +
" WHERE upper(a.table_name) = upper(:tableName)";
i know it's not a very nice approach, but i can't figure out another way, i'm a newbie to SubSonic, and only today i connected to SVN :p
Please post your opinion, i want to help, but also want to learn.