Entity framework 如何使用组合类型作为Npgsql和Telerik OpenAccess的参数

Entity framework 如何使用组合类型作为Npgsql和Telerik OpenAccess的参数,entity-framework,postgresql,stored-procedures,telerik,npgsql,Entity Framework,Postgresql,Stored Procedures,Telerik,Npgsql,我有一个PostgreSQL 9.1存储过程: FUNCTION g_savedx(_cpatient text, o view_dx, n view_dx) RETURNS void 其中view_dx是一个表。如果我正确理解PostgreSQL手册,那么当用作存储过程的参数时,只使用类型。因此,这里的表将被视为我使用了createtype 现在Telerik EntityFramework在域模型中编译以下定义: public int SaveDx(string cpat

我有一个PostgreSQL 9.1存储过程:

FUNCTION g_savedx(_cpatient text, o view_dx, n view_dx) RETURNS void 
其中view_dx是一个表。如果我正确理解PostgreSQL手册,那么当用作存储过程的参数时,只使用类型。因此,这里的表将被视为我使用了createtype

现在Telerik EntityFramework在域模型中编译以下定义:

        public int SaveDx(string cpatient, Object o, Object n)
    {
        OAParameter parameterCpatient = new OAParameter();
        parameterCpatient.ParameterName = "_cpatient";
        parameterCpatient.Size = -1;
        if(cpatient != null)
        {
            parameterCpatient.Value = cpatient;
        }   
        else
        {
            parameterCpatient.DbType = DbType.String;
            parameterCpatient.Value = DBNull.Value;
        }

        OAParameter parameterO = new OAParameter();
        parameterO.ParameterName = "o";
        parameterO.Value = o;

        OAParameter parameterN = new OAParameter();
        parameterN.ParameterName = "n";
        parameterN.Value = n;

        int queryResult = this.ExecuteNonQuery("SELECT * FROM \"public\".\"g_savedx\"(_cpatient, o, n)", CommandType.Text, parameterCpatient, parameterO, parameterN);

        return queryResult;
    }
编制后,Telerik投诉:

指定的clr类型“Object”对于过程“g_savedx”的参数n无效

试图通过告诉Telerik使用CLR类型System.Object来修复错误,但始终失败

这最终导致我怀疑Telerik正在使用Npgsql作为PostgreSQL数据库的接口,并且Telerik正在寻找PostgreSQL数据库报告的视图的DBType_dx。当然,此类型在NpgsqlDbType枚举或System.Data DbType枚举中都不存在

谁来告诉我我错了!或者,如何解决这个问题,因为我确实希望使用PostgreSQL存储过程,并将复合类型作为参数

非常感谢您的帮助