2010-05-26 187 views
1

我有版本3.0.0.1001 nhibernate。NHIbernate Linq group by count

我的目标是在一个事件基本上modeiling阵容。所以我有一个StageSet对象,它代表一个舞台的时间表中的一个插槽。

每个StageSet对象都有一个舞台和法属性。

它也有许多用户 - 谁已收藏了一组人。

我试图确定已使用以下LINQ收藏最流行的集:

var topStars = from s in Db.StageSets 
          group s by s.Act.Id into g 
          select new { SetKey = g.Key, Count = g.Count() }; 

然而,这只是将失败,无法执行查询[SQL:SQL不可用]错误

我应该可以做到这一点吗?

w://

回答

0

您已经在linq中正确指定了查询。 NHibernate拒绝翻译它。

+0

嗯 - 有没有办法我可以在HQL做到这一点? – iwayneo 2010-05-26 16:18:52

0

我只是一个稍微不同的域复制您的查询和它的工作。但那会计算StageSets by Act,不是最受欢迎的。

3

万一有人来到这里。下面应该与NH 3.1

var topStars = from s in Db.StageSets 
       group s by s.Act.Id into g 
       select new { SetKey = g.First().Act.Id, Count = g.Count() }