感觉这个应该很简单,但是为何出错呢
var query = db.t_News.GroupBy(q => q.Category)
.Select(q => new
{
Cate = q.Key,
Que = q.Take(4)
}).ToList();
目的是分组之后,取每组的前4条数据。
但是报错“执行命令定义时出错。有关详细信息,请参阅内部异常。”
发现是q.Take(4)这里有错,如果直接写q,就可以通过。
难道分组之后不能再取前N行?
------解决方案--------------------var query = db.t_News.GroupBy(q => q.Category)
.Select(q => new
{
Cate = q.Key,
Que = q.Take(4)
}).ToList();
这样写是可以的。你是LINQ to sql还是LINQ to EF
------解决方案--------------------不要想着什么都一行语句搞定。有时候超出了能力范围,我们就用土办法for循环,可能更快。