请教这个分组的sql写成linq是如何写呢
请问这个分组的sql写成linq是怎么写呢?
根据站点ID来分组,可是站点ID为100的要和站点ID为0的分成一组,sql语句为:
现在linq写成
不能实现想要的效果,请问要如何写呢?
------解决方案--------------------
看着没有什么大问题啊,这点注意修改一下:
select new { ID = g.Key.ebaySiteID, TotalCount = g.Count() }).ToList();
根据站点ID来分组,可是站点ID为100的要和站点ID为0的分成一组,sql语句为:
SELECT CASE WHEN SITEID=0 OR SITEID=100 THEN 0 ELSE SiteID END AS Siteid,COUNT(1) FROM View_eBayOL_RepeatCount GROUP BY CASE WHEN SITEID=0 OR SITEID=100 THEN 0 ELSE SiteID END
现在linq写成
var query = (from p in eBayOLProductQuery
join site in db.Site on p.SiteID equals site.SiteId
group p by new { ebaySiteID = (p.SiteID == 100 ? 0 : p.SiteID) } into g
select new { ID = g.Key, TotalCount = g.Count() }).ToList();
不能实现想要的效果,请问要如何写呢?
------解决方案--------------------
看着没有什么大问题啊,这点注意修改一下:
select new { ID = g.Key.ebaySiteID, TotalCount = g.Count() }).ToList();