NHIBERNATE 执行SQL 绑定到指定类
public IList<ReportOfReason> GetReasonReport()
{
using (ISession session = nhibernateHelper.OpenSession())
{
ISQLQuery query = session.CreateSQLQuery(@"select count(aa.form_id) Count,dd.
reason_id ReasonId, dd.reason_desc ReasonDesc from (
select a.form_id ,max(b.operation_id) operation_id,max(b.OPERATE_TIME) OPERATE_TIME
from out_form_t a left join dbo.OUT_OPERATION_T b
on a.form_id=b.form_id
join dbo.OUT_OPREATION_REASON_T c
join dbo.OUT_REASON_T d on c.reason_id=d.reason_id
on c.OPERATION_ID=b.OPERATION_ID
WHERE a.status_id in('CONFIRM','REJECT','REVOKING')
group by a.form_id
) as aa join dbo.OUT_OPREATION_REASON_T cc on cc.operation_id=aa.operation_id
join dbo.OUT_REASON_T dd on cc.reason_id=dd.reason_id
group by dd.reason_id,dd.reason_desc")
.AddScalar("ReasonId", NHibernateUtil.Int16)
.AddScalar("ReasonDesc", NHibernateUtil.String)
.AddScalar("Count", NHibernateUtil.Int32);
IList<ReportOfReason> cs = query.SetResultTransformer(Transformers.AliasToBean(typeof(ReportOfReason))).List<ReportOfReason>();
return cs;
}
}
浙公网安备 33010602011771号