看看这条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过虑后的数据集 [解决办法]