NHibernate 操作存储过程

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;
                }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值