NHibernate,子查询选择最大值,右查询已形成,但未执行
右查询的格式如下,但不会执行 选择此对开列表id作为对开列表1\u 27\u 0\u,此对开成员id作为对开列表2\u 27\u 0,此对开列表txnamt作为对开列表3\u 27\u 0\u,此对开列表日期作为对开列表4\u 27\u 0\u,此对开列表余额作为对开列表5\u 27\u 0,此对开列表备注为对开列表6\u 27\u 0\u,本文件编号为hbms文件编号历史中的文件编号7文件编号27文件编号0,其中本文件编号id=?p0,本文件编号日期=从hbms文件编号历史中选择最大本文件编号0文件编号日期为y0,其中本文件编号0。成员编号=本文件编号NHibernate,子查询选择最大值,右查询已形成,但未执行,nhibernate,Nhibernate,右查询的格式如下,但不会执行 选择此对开列表id作为对开列表1\u 27\u 0\u,此对开成员id作为对开列表2\u 27\u 0,此对开列表txnamt作为对开列表3\u 27\u 0\u,此对开列表日期作为对开列表4\u 27\u 0\u,此对开列表余额作为对开列表5\u 27\u 0,此对开列表备注为对开列表6\u 27\u 0\u,本文件编号为hbms文件编号历史中的文件编号7文件编号27文件编号0,其中本文件编号id=?p0,本文件编号日期=从hbms文件编号历史中选择最大本文件编号
查询未执行,正在抛出错误。最后发现是日期错误。解决了。很抱歉打扰大家。不执行是什么意思?你没有看到结果吗?你有错误吗?您是否看过使用NHibernate探查器查看发送的内容?
IList lFolioHistory;
ISession session = NHibernateHelper.GetCurrentSession();
var detq = NHibernate.Criterion.DetachedCriteria.For<FolioHistory>("e2");
detq.SetProjection(Projections.Alias(Projections.Max("Foliohistdate"), "maxFoliohistdate"));
detq.Add(Restrictions.EqProperty("e2.Memberid", "e.Memberid"));
ICriteria sc = session.CreateCriteria(typeof(FolioHistory), "e");
sc.Add(NHibernate.Criterion.Restrictions.Eq("e.Memberid", iMemberId));
sc.Add(NHibernate.Criterion.Subqueries.PropertyEq("Foliohistdate", detq));
lFolioHistory = sc.List();