2012-04-28 43 views
0

如何转换SQL到LINQ转换SQL被分LINQ组,算

SELECT 
      [good_id] 
      ,MIN([good_price]) as minPrice 
      ,Count([distributor_id]) as distrCount 
     FROM [Provizor].[dbo].[PRICES] where region_id=22 
     GROUP BY [good_id] 
     ORDER BY distrCount desc 

如何做到这一点的LINQ分组

+1

答案在这里:HTTP: //stackoverflow.com/questions/654285/how-do-i-translate-this-group-by-min-sql-query-into-linq – Luxspes 2012-04-28 04:46:15

回答

2

事情是这样的:

var query = dbo.Prices 
       .Where(x => x.region_id == 22) 
       .GroupBy(x => x.good_id) 
       .Select(g => new 
       { 
        minPrice = g.Min(x => x.good_price), 
        distrCount = g.Count(x=> x.distributor_id!=null) 
       } 
       .OrderByDescending(x => x.distrCount); 
+0

LINQ var price =(从_db.PRICE的 其中p.region_id == 22 群p由p.good_id成克 选择新的{ good_id = g.Key ,minPrice = g.Min(X => x.good_price) ,distrCount = g.Count(X = > x.distributor_id!= null) } ).OrderByDescending(x => x.distrCount); – Sergey 2012-04-28 05:07:27