C# 将Oracle UDT传递给存储过程会在ExecuteOnQuery上引发错误

C# 将Oracle UDT传递给存储过程会在ExecuteOnQuery上引发错误,c#,.net,oracle,stored-procedures,user-defined-types,C#,.net,Oracle,Stored Procedures,User Defined Types,在过去的两天里,我在这件事上遇到了麻烦。实际上,我已经使用Oracle tools for Visual Studio(ODAC 12c Release 3和Oracle Developer tools for Visual Studio(12.1.0.2.1))创建了UDT,并添加了所需的属性 我传递的对象是一个UDT对象,它有一个UDT集合,该集合围绕一些属性 它在从数据库中提取数据时工作良好,但在尝试将UDT对象作为参数传递给存储过程时会抛出一个错误。 我检查了所有我想到的: -类型; -

在过去的两天里,我在这件事上遇到了麻烦。实际上,我已经使用Oracle tools for Visual Studio(ODAC 12c Release 3和Oracle Developer tools for Visual Studio(12.1.0.2.1))创建了UDT,并添加了所需的属性

我传递的对象是一个UDT对象,它有一个UDT集合,该集合围绕一些属性

它在从数据库中提取数据时工作良好,但在尝试将UDT对象作为参数传递给存储过程时会抛出一个错误。 我检查了所有我想到的: -类型; -命令配置:类型设置为OracleType.Object(使用数组尝试-无更改)

下面是调用堆栈的错误:

“动态程序集中不支持调用的成员。”

在System.Reflection.Emit.InternalAssemblyBuilder.get_Location()中

在Oracle.DataAccess.Types.OracleUdt.getAllReferencedAssemblys()中

在 Oracle.DataAccess.Client.RegAndConfigRdr.setudtmapping(哈希表& s_mapudtnametomappinggobj)

在Oracle.DataAccess.Types.OracleUdt.SetCustomTypeMappings()中

在Oracle.DataAccess.Types.OracleUdt.GetUdtName(字符串 customTypeName,字符串数据源)

在 Oracle.DataAccess.Client.OracleParameter.SetUDTFromCustomObject(OracleConnection 连接器,IOracleCustomType customObj,Int32 i)

在 Oracle.DataAccess.Client.OracleParameter.PreBind_OracleObject(OracleConnection 康涅狄格州)

在 Oracle.DataAccess.Client.OracleParameter.PreBind_对象(OracleConnection 康涅狄格州)

在 Oracle.DataAccess.Client.OracleParameter.PreBind(OracleConnection 连接器,IntPtr errCtx,Int32阵列化)

在Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()中

在OracleDatabaseHelper.OracleCommandEx.ExecuteOnQuery()上