2012-04-28 40 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