使用nHibernate调用存储过程

时间:2009-10-11 21:38:06

标签: .net nhibernate stored-procedures

如何使用nHibernate调用存储过程?

具体来说,有两种情况我使用存储过程:返回标量值并返回映射到实体的一组结果。

1 个答案:

答案 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