如何在 .net 代码中访问 Oracle 存储过程的 out 参数值 - 通过 Nhibernate 调用 Oracle 存储过程?
示例工作代码会有所帮助。
最佳答案
您必须使用最新版本的 NHibernate (2.1.2)。
<sql-query name="ReturnSomethig" callable="true">
<return class="Somethig" />
{ call ReturnSomethig(:someParameter) }
</sql-query>
Oracle 存储过程需要将第一个参数作为 out sys_refcursor 参数。
您可以像这样调用命名查询:
IQuery query = currentSession.GetNamedQuery("ReturnSomethig");
query.SetInt64("someParameter", someParameter);
var somethig = query.List<Somethig>();
它会起作用的。
关于使用 Nhibernate 的不带参数的 Oracle 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1804879/