Как вызвать хранимую процедуру oracle, которая возвращает два параметра out с помощью NHibernate

#c# #stored-procedures #nhibernate #nhibernate-mapping #queryover

Вопрос:

Как вызвать хранимую процедуру oracle, которая возвращает два параметра out с помощью NHibernate?

 PROCEDURE get_data   (p_result      OUT SYS_REFCURSOR)     
    IS
  BEGIN 
 
        OPEN p_result
         FOR  
      SELECT -1 vehicle_key
            ,-1 source_key
            ,SYSDATE start_gmt_event_date
            ,SYSDATE end_gmt_event_date 
        FROM DUAL; 
  END get_data;
 

Ранее у меня была описанная выше хранимая процедура, и в этот раз с помощью приведенного ниже сопоставления я могу вызвать процедуру и получить данные.

Отображение :

 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="myassembly" namespace="mynamespace" >
  <sql-query name="SelectOpenModel">
    <return class="OpenModel"  />    
    {call get_data()}
  </sql-query>
</hibernate-mapping>
 

Код на C#

 var g = statelessSession.GetNamedQuery("SelectOpenModel").List<OpenModel>();
 

Теперь у меня есть некоторые другие требования, в которых мне нужно вернуть два параметра из формы этой хранимой процедуры, поэтому я изменил эту процедуру, как показано ниже.

 PROCEDURE get_data   (p_result      OUT SYS_REFCURSOR,p_result1      OUT number )     
    IS
  BEGIN 
 
        OPEN p_result
         FOR  
      SELECT -1 vehicle_key
            ,-1 source_key
            ,SYSDATE start_gmt_event_date
            ,SYSDATE end_gmt_event_date 
        FROM DUAL; 
         
       select 2 into p_result1 from dual;

  END get_data;
 

Кто-нибудь может мне помочь, как я могу вызвать эту хранимую процедуру с помощью NHibernate NamedQuery или любого другого варианта?