首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-07-08 
感觉这个应该很简单,但是为何出错呢var query db.t_News.GroupBy(q q.Category).Select(q new{Cat

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


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

热点排行