2013-04-21 117 views
0

任何人都知道如何強制odp.net綁定參數的名稱,使用它與企業庫?我知道存在BindParameterByName使用OracleCommand,但我使用odp.net與企業庫和DbCommand企業庫+ Odp.Net BindParameterByName

回答

0

我認爲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具體實施。

公共類Oracle數據庫:數據庫 { 公共Oracle數據庫() :基座(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; 
} 

}