我在数据库中有项目,例如:
id | item_id | title
1 | 1 | abc
2 | 3 | abcd
3 | 1 | abc
4 | 1 | abc
5 | 3 | abcd
6 | 2 | abcde
我想要的是大多数使用值的订单 并且最常用的值必须按date_created
排序id | item_id | title
1 | 1 | abc
3 | 1 | abc
4 | 1 | abc
2 | 3 | abcd
5 | 3 | abcd
6 | 2 | abcde
我到目前为止所尝试的是
public static ICollection<entry_adders> CallEntries()
{
using (entry_MainEntities db = new entry_MainEntities())
{
var entries = db.entry_adders
.GroupBy(q => q.item_id)
.OrderByDescending(gp => gp.Count())
.Select(g => g.Key).ToList() ;
return ??
}
}
但我不知道如何将其返回ICollection<entry_adders>
,我需要使用linq而不是lambda进行此查询。
答案 0 :(得分:3)
我认为您需要像SelectMany
这样使用:
return db.entry_adders
.GroupBy(q => q.item_id)
.OrderByDescending(gp => gp.Count())
.SelectMany(g=>g).ToList();
答案 1 :(得分:2)
return e.OrderByDescending(d => d.Frequency).ThenByDescending(d => d.CreationTime);
您创建方法IEnumerable<entry_adders>
的返回类型,然后返回entries
。