具有实体框架问题的 Informix 存储过程

Posted

技术标签:

【中文标题】具有实体框架问题的 Informix 存储过程【英文标题】:Informix Stored Procedures with Entity Framework Issue 【发布时间】:2018-09-13 02:24:06 【问题描述】:

我正在尝试使用数据库优先方法将存储过程导入实体模型,但由于以下警告,导入失败。我正在使用 Visual Studio 2015 update3

错误 6005: 函数“ar_get_contact_name”的返回数据类型“varchar”当前不受目标实体框架版本的支持。该函数已被排除。

错误 6046: 无法生成存储函数“ar_get_contact_name”的函数导入返回类型。该函数将被忽略,不会生成函数导入。

如下表和SP

创建表“entityframework”.ar_contact ( contact_code char(10) 非空主键, 名称 char(80) 不为空 );

创建过程“实体框架”.ar_get_contact_name ( cont_code LIKE ar_contact.contact_code)

回归 VARCHAR(50);

定义连续名称 VARCHAR(255);

选择 ar_contact.name 进入 续名 从 ar_contact 在哪里 cont_code = contact_code;

返回续名;

结束程序

有什么解决方法吗?

【问题讨论】:

【参考方案1】:

Truly Informix 还没有实体框架 (EF) 支持的好故事。 现在,.net 应用程序要使用 EF 功能,他们必须使用 DB2 驱动程序连接到使用 DRDA 协议的 Informix。 在使用 DB2 EF 驱动程序连接到 Informix 数据库时,许多功能都可以正常工作(但不是全部)。 DB2 和 Informix 的某些功能在数据库级别是不同的。 存储过程和函数的返回值就是其中之一。您很可能会遇到这种差异。

【讨论】:

你有没有尝试将informix sps导入EF?

以上是关于具有实体框架问题的 Informix 存储过程的主要内容,如果未能解决你的问题,请参考以下文章

实体框架,具有返回类型的函数导入:无..返回 int?

具有存储库模式的实体框架 DAL、BLL

在实体框架中使用存储过程

实体框架存储过程表值参数

存储过程参数名称和实体框架

实体框架和 Oracle 客户端 - 存储过程问题