0

首先,我为我糟糕的英语道歉。

我正在使用实体框架来映射 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