Родной провайдер оракула для .net не выполняет привязку параметров по имени по умолчанию, поэтому вы должны установить его вручную.
Однако в следующем коде он не установлен, ЕСЛИ Я не заменил строку
DbConnection conn = factory.CreateConnection();
с
DbConnection conn = OracleClientFactory.Instance.CreateConnection();
Ниже приведен полный код:
DbProviderFactory factory = DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
DbConnection conn = factory.CreateConnection();
using(DbCommand command = conn.CreateCommand())
{
if( command is Oracle.DataAccess.Client )
{
((Oracle.DataAccess.Client.OracleCommand)command).BindByName = true;
}
}
Почему это?