NHibernate 操作存储过程

来源:互联网 发布:淘宝店铺自定义装修 编辑:程序博客网 时间:2024/06/05 11:42

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


0 0
原创粉丝点击