首页 新闻 搜索 专区 学院

Linq问题请教?

0
[已解决问题] 解决于 2012-06-15 17:53
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. NumProducts = g.Count()  
  7. };    g.key中的key是什么意思?
学之乐的主页 学之乐 | 初学一级 | 园豆:45
提问于:2012-06-15 09:48
< >
分享
最佳答案
2

g.key就是p.CategoryID。

GROUP后,会把结果放在一个对象中(g),而你分组的依据就存放在g的key中。

改语句等价于SQL:

select categoryid, count(*) from products group by categoryid

 

当分组后,分组对象g本身并不知道分组的依据是什么,所以就弄了这个通用的key来描述。

奖励园豆:5
无之无 | 大侠五级 |园豆:5085 | 2012-06-15 10:02

同意 ,百事通嘛。。。

松鼠鱼 | 园豆:185 (初学一级) | 2012-06-15 17:45
其他回答(3)
-1

肯定是主键吧

堂堂88 | 园豆:9 (初学一级) | 2012-06-15 09:50

为什么这样写,这样写有什么用处?

支持(0) 反对(0) 学之乐 | 园豆:45 (初学一级) | 2012-06-15 09:52

@河洛之子: 没什么好处啊  和g.Count g.XXX都一样吧

支持(0) 反对(0) 堂堂88 | 园豆:9 (初学一级) | 2012-06-15 09:53
0

g.key按照我的理解应该是的某一列的列名

weihua | 园豆:202 (菜鸟二级) | 2012-06-15 10:12
0

就是分组后每组CategoryID的值

飞浪 | 园豆:243 (菜鸟二级) | 2012-06-15 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册