读书人

感觉这个应当很简单但是为何出错呢

发布时间: 2013-07-08 14:13:00 作者: rapoo

感觉这个应该很简单,但是为何出错呢


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循环,可能更快。

读书人网 >.NET

热点推荐