Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle UDT类型不匹配_Oracle_Odp.net_User Defined Types_Type Mismatch - Fatal编程技术网

Oracle UDT类型不匹配

Oracle UDT类型不匹配,oracle,odp.net,user-defined-types,type-mismatch,Oracle,Odp.net,User Defined Types,Type Mismatch,我们有一个项目,它有两个使用相同UDT的模块。我们已经生成了UDT,如示例代码所示。当我们的项目调用B的SP时,它应该从B.DbObjects命名空间返回UDT,返回的类型是A.DbObjects命名空间。发生这种情况的原因是Oracle Data Access从OracleCustomTypeMappingAttribute获取类型名称,并使用该值创建实例。由于名称空间不同,我们无法将数据绑定到返回类型。有解决办法吗 代码: 模块A-输出A.dll namespace A.DbObjects

我们有一个项目,它有两个使用相同UDT的模块。我们已经生成了UDT,如示例代码所示。当我们的项目调用B的SP时,它应该从B.DbObjects命名空间返回UDT,返回的类型是A.DbObjects命名空间。发生这种情况的原因是Oracle Data Access从OracleCustomTypeMappingAttribute获取类型名称,并使用该值创建实例。由于名称空间不同,我们无法将数据绑定到返回类型。有解决办法吗

代码:

模块A-输出A.dll

namespace A.DbObjects
{
    [OracleCustomTypeMapping("SCHEMA.UDTNAME")]
    public partial class UDTNAME : OracleCustomType
    {
        [OracleObjectMappingAttribute("X")]
        public string X { get; set; }
        [OracleObjectMappingAttribute("Y")]
        public decimal Y { get; set; }
        [OracleObjectMappingAttribute("Z")]
        public decimal Z { get; set; }
    }
}
模块B-输出B.dll

namespace B.DbObjects
{
    [OracleCustomTypeMapping("SCHEMA.UDTNAME")]
    public partial class UDTNAME : OracleCustomType
    {
        [OracleObjectMappingAttribute("X")]
        public string X { get; set; }
        [OracleObjectMappingAttribute("Y")]
        public decimal Y { get; set; }
        [OracleObjectMappingAttribute("Z")]
        public decimal Z { get; set; }
    }
}