我一直在尝试使用BLToolkit来激活Oracle存储过程,该过程将用户定义类型作为参数作为输出参数进行更改。
我已经设法在原始类型上执行此操作,并且还通过手动调用SetSpCommamd但是我想使用抽象类生成方法但似乎无法使其工作。
我非常确定我写的代码是正确的(适用于原语)。在调试时我发现生成的代码调用的SetSpCommamd获取的是参数而不是我提供的参数,而不是我手动调用方法时(它获得我喜欢的确切参数)。我希望我能看到反射发出的代码,看看那里有什么错误。
任何人都可以帮我弄清楚为什么这不起作用?
答案 0 :(得分:1)
发现问题(可能是BLToolkit中的一个错误)。
BLToolkit不会将UDT类原样传递给过程(而是尝试将其展平或者传递内容并传递对象的内部)。我将对象更改为Struct而不是Class并修复它。
后来我又把它改回了课堂,并在BLToolkits代码的'IsScaler()'方法中做了补丁。
我会将此报告为Bug,我希望他们能够修复它。