如何使用nHibernate调用存储过程?
具体来说,有两种情况我使用存储过程:返回标量值并返回映射到实体的一组结果。
答案 0 :(得分:4)
文档建议使用以下方法映射存储过程的命名查询:
<sql-query name="selectAllEmployments_SP">
<return alias="emp" class="Employment">
<return-property name="employee" column="EMPLOYEE"/>
<return-property name="employer" column="EMPLOYER"/>
exec selectAllEmployments //stored procedure call here
</sql-query>
可以使用以下方法调用:
IQuery q = sess.GetNamedQuery("selectAllEmployments_SP");
这将在NHibernate 1.2.0文档的13.2.2节(映射存储过程)和9.3.2(查询命名查询)中讨论。 https://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/querysql.html#sp_query