Вопрос

I have been trying to use BLToolkit to activate an Oracle stored procedure which takes a User Defined Type as an argument as an output parameter and changes it.

I have managed to do this on a primitive type, and and also by manually calling SetSpCommamd however I would like to use the abstract class generation method but can't seem to get it to work.

I'm pretty sure the code I wrote is correct (works for the primitive). When debugging I found the SetSpCommamd called by the generated code gets wierd parameters instead of the ones I provided as opposed to when I call the method manually (the it gets the exact parameters I'd like). I wish I could see the code generated by the reflection emit to see what's wrong there.

Can anyone please help me figure out why this is not working?

Это было полезно?

Решение

Found the problem (Potentially a bug in BLToolkit).

BLToolkit does not pass the UDT Class as is to the procedure (instead it tries to flatten it or something and pass the insides of the object). I Changed the object to a Struct instead of a Class and that fixed it.

Later on I also changed it back to class and made a patch in the 'IsScaler()' method in BLToolkits code.

I will report this as a Bug I hope they fix it.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top