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

见见这条Linq语句的作用

2012-09-17 
看看这条Linq语句的作用3.元素:查找每个类别中单价最低的产品:SQL code var categories from p in db.Pro

看看这条Linq语句的作用
3.元素:
查找每个类别中单价最低的产品:

SQL code
 var categories =    from p in db.Products    group p by p.CategoryID into g    select new {        CategoryID = g.Key,        CheapestProducts =            from p2 in g            where p2.UnitPrice == g.Min(p3 => p3.UnitPrice)            select p2    };

Max
说明:返回集合中元素的最大值;不延迟。生成SQL语句为:SELECT MAX(…) FROM

------------------------------------------------

由期是"group p by p.CategoryID into g"这条语句的作用是什么

[解决办法]
from p in db.Products 表示从表中将产品对象取出来。
group p by p.CategoryID into g表示对p按CategoryID字段归类。其结果命名为g,一旦重新命名,p的作用域就结束了,所以,后面select时,只能select g。
[解决办法]
var categories =
from p in db.Products
group p by p.CategoryID into g
select new {
CategoryID = g.Key,
CheapestProducts =
from p2 in g
where p2.UnitPrice == g.Min(p3 => p3.UnitPrice)
select p2
};
=====================================
查询表Products所有数据,并根据CategoryID 排序 然后进行分组
比如你查询出来有a,b,c,d,e五个字段,特别是主从表查询的时候字段比较多
这时你只需要其中的几个就可以分组,g就是一个别名
你这里返回的 var categories 的值就只有CategoryID 和CheapestProducts 
CheapestProducts是从这个g组里面根据UnitPrice过虑后的数据集
[解决办法]
探讨
group p by p.CategoryID into g
是将数据分组排序后保存到g
那此时的g和上边的p除了排序过,还有什么区别?

热点排行