Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在NHibernate中编写以下SQL查询_Sql_Nhibernate_Icriteria - Fatal编程技术网

如何在NHibernate中编写以下SQL查询

如何在NHibernate中编写以下SQL查询,sql,nhibernate,icriteria,Sql,Nhibernate,Icriteria,嘿-我正在努力找出如何使用NHibernate ICriteria(多标准?)为以下内容编写以下内容: (这是一个查询,用于获取根据人气在表中最后一天排序的名字列表) 此外,考虑到这只是一个表中的几列,不包括ID,并且NHibernate需要它的对象的ID,那么最简单的“伪造”ID的方法是什么,这样我就可以得到结果?您需要使用投影和转换器来完成这项工作。这里有一些背景信息 var-criteria=Session.CreateCriteria() .Add(Restrictions.Betwee

嘿-我正在努力找出如何使用NHibernate ICriteria(多标准?)为以下内容编写以下内容:

(这是一个查询,用于获取根据人气在表中最后一天排序的名字列表)


此外,考虑到这只是一个表中的几列,不包括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>();