谁能告诉在 Nhibernate 中准确映射存储过程的位置。
在类 hbm.xml 文件或新声明的文件(hbm.xml)中,特别是对于存储过程???
你能说出理由吗??
谁能告诉在 Nhibernate 中准确映射存储过程的位置。
在类 hbm.xml 文件或新声明的文件(hbm.xml)中,特别是对于存储过程???
你能说出理由吗??
我创建了一个包含所有存储过程调用的 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>();
这对我来说很好,但确实没有推荐的方法,它总是取决于你觉得适合你的方法。