1.配置映射文件:注意sql-query 的位置以及传参的格式
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="nnMiddleware.Domain" namespace="nnMiddleware.Domain.Entities">
<class name="OrderInfo" table="OrderInfo">
<!--主键-->
<id name="Id" column="Ord_ID" type="Int64" unsaved-value="0">
<generator class="native"/>
</id>
</class>
<!--订单统计查询-->
<sql-query name="QueryOrderStatistics">
<return-scalar column="Kin_name" type="string"/>
<return-scalar column="Syj_name" type="string"/>
<return-scalar column="Rparent_Count" type="int"/>
<return-scalar column="Order_Quantity" type="int"/>
<return-scalar column="Order_TotalCount" type="decimal"/>
exec QueryOrderStatistics :syjCode,:beginTime,:endTime
</sql-query>
</hibernate-mapping>
2.C#代码
var query = locator.GetNamedQuery<OrderInfo>("QueryOrderStatistics")
.SetString("syjCode", syjCode)
.SetString("beginTime", beginTime)
.SetString("endTime", endTime)
.List();
if (query != null && query.Count > 0)
{
foreach (var orderinfo in query)
{
orderStatisticsDto = new OrderStatisticsDto();
object[] o = (object[])orderinfo;
var orderStatistic= o.ToArray();
orderStatisticsDto.KindergartenName =orderStatistic[0]!=null? orderStatistic[0].ToString():"";
orderstatistic.Add(orderStatisticsDto);
}
result.OrderStatistics = orderstatistic.Skip((pageIndex - 1)*pageSize).Take(pageSize).ToList();
result.TotalCount = query.Count;
}