如何在NHibernate中编写以下SQL查询
嘿-我正在努力找出如何使用NHibernate ICriteria(多标准?)为以下内容编写以下内容: (这是一个查询,用于获取根据人气在表中最后一天排序的名字列表)如何在NHibernate中编写以下SQL查询,sql,nhibernate,icriteria,Sql,Nhibernate,Icriteria,嘿-我正在努力找出如何使用NHibernate ICriteria(多标准?)为以下内容编写以下内容: (这是一个查询,用于获取根据人气在表中最后一天排序的名字列表) 此外,考虑到这只是一个表中的几列,不包括ID,并且NHibernate需要它的对象的ID,那么最简单的“伪造”ID的方法是什么,这样我就可以得到结果?您需要使用投影和转换器来完成这项工作。这里有一些背景信息 var-criteria=Session.CreateCriteria() .Add(Restrictions.Betwee
此外,考虑到这只是一个表中的几列,不包括ID,并且NHibernate需要它的对象的ID,那么最简单的“伪造”ID的方法是什么,这样我就可以得到结果?您需要使用投影和转换器来完成这项工作。这里有一些背景信息
var-criteria=Session.CreateCriteria()
.Add(Restrictions.Between(“Timestamp”、DateTime.Now.AddDays(-1)、DateTime.Now)
.AddOrder(Order.Desc(Projections.Count(“FirstName”))
.SetProjection(Projections.ProjectionList()项目)
.Add(Projections.GroupProperty(“FirstName”),“FirstName”)
.Add(projects.Count(“FirstName”),“accurrences”)
.SetResultTransformer(Transformers.AliasToBean());
标准列表();
您需要创建一个名为FirstName Occurance的类,该类有两个属性,分别为FirstName和Occurance。非常感谢Vadim-非常有魅力。我有一些NHibernate需要学习!
select firstname,count(firstname) as occurances from registrants
where timestamp between DateAdd(day,-1, GetDate()) and getdate()
group by firstname
order by count(firstname) desc
var criteria = Session.CreateCriteria<Registrant>()
.Add(Restrictions.Between("Timestamp", DateTime.Now.AddDays(-1), DateTime.Now)
.AddOrder(Order.Desc(Projections.Count("FirstName")))
.SetProjection(Projections.ProjectionList()
.Add(Projections.GroupProperty("FirstName"), "FirstName")
.Add(Projections.Count("FirstName"), "Occurances")
.SetResultTransformer(Transformers.AliasToBean<FirstNameOccurance>());
criteria.List<FirstNameOccurance>();