まず第一に、私の悪い英語をお詫びします。
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>