在XML文件说明中的Nhibernate存储过程映射

时间:2013-03-19 04:33:33

标签: nhibernate nhibernate-mapping

任何人都可以告诉在Nhibernate中完全映射存储过程的位置。

在类hbm.xml文件或新声明的文件(hbm.xml)中,特别是对于存储过程???

你能说出理由吗?

1 个答案:

答案 0 :(得分:4)

我创建了一个包含所有存储过程调用的XML文件,例如

<?xml version="1.0" encoding="utf-8" ?>  
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">  
  <sql-query name="SummaryReport">  
    exec getSummaryReport  :productId  
  </sql-query>  
  <sql-query name="FullReport">  
    exec getFullReport  :productId  
  </sql-query>  
</hibernate-mapping>  

并将其标记为嵌入式资源。我可以这样称呼SP: -

var results = Session
  .GetNamedQuery("SummaryReport")
  .SetInt32("productId", productId);
  .SetResultTransformer(
    new AliasToBeanResultTransformer(typeof(SummaryReport)));
return results.List<SummaryReport>();

这对我来说很好,但确实没有推荐的方式,它始终是你认为适合你的方式。