具有Have和Max查询的Nhibernate条件? [英] Nhibernate Criteria for the Having and Max query?

查看:94
本文介绍了具有Have和Max查询的Nhibernate条件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为以下查询创建Nhibernate条件,但没有正确的主意.
从PatientEligibilityHistory中的

I am trying to create Nhibernate criteria for the follwing query but not getting the right idea.

SELECT PEH.ResponseStatus FROM PatientEligibilityHistory PEH WHERE PEH.PatientId = " + patientId + " AND PEH.PayorId = " + payorId  + " AND PEH.DateOfService = '" + dateOfService + "' AND PEH.Insured_Id = '" + insuredId + "' HAVING PEH.ResponseDateTime = MAX(PEH.ResponseDateTime) 


我正在尝试以下Nhibernate条件,但它不起作用.


I am trying the following Nhibernate Criteria but it is not working .

ICriteria criteria = session.CreateCriteria(typeof(PatientEligibilityHistory));
           criteria.Add(Expression.And(Expression.In("PatientId", patientList), Expression.In("PatientCaseId", patientCaseList)));
           criteria.Add(Expression.And(Expression.In("PayorId", payorList), Expression.In("InsuredId", insuredList)));
           ProjectionList projectionList = Projections.ProjectionList();
           projectionList.Add(Projections.Max("ResponseDatetime"));
           projectionList.Add(Projections.GroupProperty("ResponseDatetime"));
           criteria.SetProjection(projectionList);
           return criteria;


请进行指导.


Please guide.

推荐答案

SELECT PEH.ResponseStatus FROM PatientEligibilityHistory PEH WHERE PEH.PatientId = " + patientId + " AND PEH.PayorId = " + payorId  + " AND PEH.DateOfService = '" + dateOfService + "' AND PEH.Insured_Id = '" + insuredId + "' HAVING PEH.ResponseDateTime = select MAX(PEH.ResponseDateTime)  from  PatientEligibilityHistory


这篇关于具有Have和Max查询的Nhibernate条件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆