【问题标题】:Enterprise Library + Odp.Net BindParameterByName企业库 + Odp.Net BindParameterByName
【发布时间】:2013-04-21 22:05:42
【问题描述】:

任何人都知道如何通过名称强制 odp.net 绑定参数,将其与企业库一起使用?我知道存在BindParameterByName 使用OracleCommand,但我正在使用带有企业库和DbCommand 的odp.net。

【问题讨论】:

    标签: c# enterprise-library odp.net


    【解决方案1】:

    我认为thisthis 的帖子会有所帮助。

    他们首先告诉你自己扩展它,比如

    公共抽象类数据库 { 私有只读 DbProviderFactory 工厂;

    protected Database(DbProviderFactory factory)
    {
        this.factory = factory;
    }
    
    public virtual DbCommand CreateCommand(String commandText)
    {
        return CreateCommand(CommandType.Text, commandText);
    }
    
    public virtual DbCommand CreateCommand(CommandType commandType, String commandText)
    {
        DbCommand command = factory.CreateCommand();
        command.CommandType = commandType;
        command.Text = commandText;
        return command;
    }
    
    public virtual void BindParametersByName(DbCommand command)
    {
    
    }
    

    } 并选择创建覆盖默认命令创建或提供按名称绑定参数的选项的 Oracle 特定实现。

    公共类 OracleDatabase : 数据库 { 公共 OracleDatabase() :基础(OracleClientFactory.Instance) {

    }
    
    public override DbCommand CreateCommand(CommandType commandType, String commandText)
    {
        DbCommand command = base.CreateCommand(commandType, commandText);
        BindParametersByName(command);
        return command;
    }
    
    public override void BindParametersByName(DbCommand command)
    {
        ((OracleCommand)command).BindByName = true;
    }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多