0

まず第一に、私の悪い英語をお詫びします。

Entity Frameworkを使用して、Oracleデータベースのストアドプロシージャをマップしています。次のコードは、ストアドプロシージャを呼び出し、ObjectParameterを使用して値を返すために作成したものです。

ObjectParameter p_TotalCount = new ObjectParameter("TOTALCOUNT", typeof(int));
ObjectParameter p_TotalCountPos = new ObjectParameter("TOTALCOUNT_POS", typeof(int));

ObjectResult<EVENT_FULLTEXT_RESULT> res = ctx.GET_EVENTS_FULLTEXT2(p1, p2, ..., p_TotalCount, p_TotalCountPos);

totalCount = Convert.ToInt32(p_TotalCount.Value);
totalCountPos = Convert.ToInt32(p_TotalCountPos.Value);

PLSQL開発者からストアドプロシージャを呼び出したときに返されるものとは異なり、この場合、p_TotalCount.Valueはnullを返します。

このストアドプロシージャのエンティティフレームワークを生成したマッピングに従います

<FunctionImport Name="GET_EVENTS_FULLTEXT2" ReturnType="Collection(Model.EVENT_FULLTEXT_RESULT)">
        <Parameter Name="p1" Mode="In" Type="String" />
        ...
        ...

        <Parameter Name="TOTALCOUNT" Mode="Out" Type="Decimal" />
        <Parameter Name="TOTALCOUNT_POS" Mode="Out" Type="Decimal" />
      </FunctionImport>
4

0 に答える 0