sql >> Base de Datos >  >> RDS >> Oracle

Procedimiento almacenado de Oracle sin parámetro usando Nhibernate

Tienes que usar la última versión de NHibernate (2.1.2).

<sql-query name="ReturnSomethig" callable="true">
   <return class="Somethig" />
   { call ReturnSomethig(:someParameter) }
</sql-query>

El procedimiento almacenado de Oracle debe tener el primer parámetro como un parámetro sys_refcursor de salida.

Y puede llamar a la consulta nombrada así:

IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();

Y funcionará.