断然的:
我现在已经解决了这个问题。首先是ID属性被设置为“name=ID”而不是“name=Month”的问题。其次,我必须将exec命令包装在CDATA中,并在参数之间放置逗号分隔符。下面是完整的工作映射文件,供以后遇到类似问题的人参考。
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="TestApp.DataAccess"
namespace="TestApp.DataAccess.Models">
<class name="MonthlyInstructionCount" lazy="true">
<id name="Month">
<generator class="native" />
</id>
<property name="MapRequests" />
<property name="Instructions" />
<property name="DrainsLookSee" />
<property name="DrainsFullCctv" />
<property name="Soils" />
<property name="Roots"/>
<property name="Arb" />
<loader query-ref="MI_MonthlyInstructionCount"/>
</class>
<sql-query name="MI_MonthlyInstructionCount">
<return class="MonthlyInstructionCount">
<return-property name="Month" column="Month" />
<return-property name="MapRequests" column="MapRequests" />
<return-property name="Instructions" column="Instructions" />
<return-property name="DrainsLookSee" column="DrainsLookSee" />
<return-property name="DrainsFullCctv" column="DrainsFullCctv" />
<return-property name="Soils" column="Soils" />
<return-property name="Roots" column="Roots" />
<return-property name="Arb" column="Arb" />
</return>
<![CDATA[
exec MI_MonthlyInstructionCount :StartDate, :NumberOfMonths
]]>
</sql-query>
</hibernate-mapping>
干杯!