Entity Framework无法为Oracle存储过程添加“函数导入”。

3
我正在使用以下工具与Entity Framework一起使用:
  1. MS Visual Studio 2010 Professional SP1

  2. 从Oracle网站下载的最新Oracle数据提供程序(ODAC 11.2 Release 4 (11.2.0.3.0) 32位版),下载地址为http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

  3. Oracle 11g服务器

我的表格如下:

enter image description here

我的存储过程如下:
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”,选择“添加函数导入”
函数导入名称和存储过程名称都是预填的
在“返回集合”下,我选择实体作为一个导入的Oracle表。
然后我点击“获取列信息”按钮。
我收到一个名为“The selected stored procedure returns no columns.”的响应。
请帮忙。
我希望能够通过实体框架将存储过程的记录集获取到我的.NET类中。
谢谢。
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接