1

我一直在尝试使用 BLToolkit 来激活 Oracle 存储过程,该存储过程将用户定义类型作为参数作为输出参数并对其进行更改。

我已经设法在原始类型上做到这一点,并且还通过手动调用 SetSpCommamd 但是我想使用抽象类生成方法,但似乎无法让它工作。

我很确定我写的代码是正确的(适用于原语)。调试时,我发现生成的代码调用的 SetSpCommamd 获得了奇怪的参数,而不是我提供的参数,而不是手动调用该方法时(它获得了我想要的确切参数)。我希望我能看到反射发出的代码,看看那里出了什么问题。

谁能帮我弄清楚为什么这不起作用?

4

1 回答 1

1

发现问题(可能是 BLToolkit 中的错误)。

BLToolkit 不会将 UDT 类按原样传递给过程(相反,它会尝试将其展平或其他东西并传递对象的内部)。我将对象更改为 Struct 而不是 Class 并修复了它。

后来我也把它改回了类,并在 BLToolkits 代码中的“IsScaler()”方法中做了一个补丁。

我会将其报告为错误,希望他们修复它。

于 2012-08-30T18:41:43.270 回答