Я знаю, что эта ветка старая, но у меня была такая же проблема сегодня, и я подумал, что поделюсь своим решением на случай, если у кого-то еще возникнет эта проблема.Поскольку OracleCommand запечатан (что отстой), я создал новый класс, который инкапсулирует OracleCommand, установив для BindByName значение true при создании экземпляра.Вот часть реализации:
public class DatabaseCommand
{
private OracleCommand _command = null;
public DatabaseCommand(string sql, OracleConnection connection)
{
_command = new OracleCommand(sql, connection)
{
BindByName = true
};
}
public int ExecuteNonQuery()
{
return _command.ExecuteNonQuery();
}
// Rest of impl removed for brevity
}
Затем все, что мне нужно было сделать для очистки команд, это выполнить поиск OracleCommand, заменить его на DatabaseCommand и протестировать.