【问题标题】:entity framework can not "add function import" for Oracle stored procedure实体框架不能为 Oracle 存储过程“添加函数导入”
【发布时间】:2023-03-03 04:28:01
【问题描述】:

我正在使用带有以下工具的实体框架:

  1. MS Visual Studio 2010 专业版 SP1

  2. 来自 Oracle 网站的最新 Oracle 数据提供程序。 (ODAC 11.2 版本 4 (11.2.0.3.0) for 32 bit) 下载自 http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

  3. Oracle 11g 服务器

我的表格如下所示

我的存储过程如下所示:

PROCEDURE "GET_SUPPLIERS" (
    "SUPP_LIST" OUT SYS_REFCURSOR) IS
BEGIN 

    OPEN SUPP_LIST FOR 
    SELECT 
        SUPPLIER_NAME 
    FROM 
        A_SUPPLIER  ;

END;

我为我的实体框架项目更新了 app.config,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="Entities" connectionString="tookitoutfromhere" />
  </connectionStrings>


  <oracle.dataaccess.client>
    <settings>
      <add name="FSDEVTL.GET_SUPPLIERS.RefCursor.SUPP_LIST" value="implicitRefCursor bindinfo='mode=Output'" />
      <add name="FSDEVTL.GET_SUPPLIERS.RefCursorMetaData.SUPPLIER_NAME.Column.0" value="implicitRefCursor metadata='ColumnName=SUPPLIER_NAME;BaseColumnName=SUPPLIER_NAME;BaseSchemaName=FSDEVTL;BaseTableName=A_SUPPLIER;NATIVEDATATYPE=Varchar2;ProviderType=Varchar2'" />
    </settings>
  </oracle.dataaccess.client>


</configuration>

我执行以下步骤:

在我的 .edmx 项目下 -> Model.Store -> 存储过程 -> GET_SUPPLIERS

右键单击存储过程“GET_SUPPLIERS” 选择“添加功能导入” 函数导入名称和存储过程名称已预先填充 在返回一个集合 我选择实体作为 a_supplier,这是导入的 Oracle 表。 然后我点击“获取列信息”按钮。

我收到一个名为“所选存储过程不返回任何列”的响应。

请帮忙。

我希望能够通过实体框架将记录集从存储过程获取到我的 .net 类中。

谢谢

【问题讨论】:

    标签: oracle entity-framework stored-procedures recordset


    【解决方案1】:

    请在“返回集合”中选择复杂,然后重试。

    “函数导入和检索隐式结果集 | 直接插入和更新数据”中的示例

    http://download.oracle.com/oll/obe/EntityFrameworkOBE/EntityFrameworkOBE.htm#t9

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多