0

谁能告诉在 Nhibernate 中准确映射存储过程的位置。

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

你能说出理由吗??

4

1 回答 1

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>();

这对我来说很好,但确实没有推荐的方法,它总是取决于你觉得适合你的方法。

于 2013-03-19T11:45:25.380 回答