2012-03-26 22 views
3

のための「関数インポートを追加」することはできません。エンティティフレームワークは、私は次のツールとエンティティフレームワークを使用していますOracleのストアドプロシージャ

  1. MSのVisual Studio 2010 ProfessionalのSP1

  2. OracleのWebサイトから

    最新のOracleデータプロバイダ。 (ODAC 11.2リリース 4(11.2.0.3.0)のための32ビット)は http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

  3. Oracle 11gのサーバーからダウンロードし

    enter image description here

    を次のように私のテーブルに見える

私の格納されたprocは次のようになります:

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表であるa_supplierとしてエンティティを選択します。 次に、「列情報を取得」ボタンをクリックします。

「選択されたストアドプロシージャが列を返さない」という応答が返されます。

助けてください。

enter image description here

私は、エンティティフレームワークを経由して私の.NETクラスにストアドプロシージャからレコードセットを取得できるようにしたいと思います。

ありがとうございました

答えて

関連する問題