我正在试验Linq,并且在分组时遇到困难。我已经通过了几个教程,但由于某种原因无法弄清楚。C#Linq分组
作为一个例子,假设我有一个表(SiteStats),其中包含多个网站ID,用于存储每个网站访问总数和过去30天的访问人数。
╔════════╦═════════════╦════════╦══════╗
║ SiteId ║ VisitorType ║ Last30 ║ Total║
╠════════╬═════════════╬════════╬══════╣
║ 1 ║ 1 ║ 10 ║ 100 ║
║ 1 ║ 2 ║ 40 ║ 140 ║
║ 2 ║ 1 ║ 20 ║ 180 ║
╚════════╩═════════════╩════════╩══════╝
在SQL中,我可以很容易地获得SITEID 1计数有以下几点:
SELECT SiteId,
SUM(Last30) AS Last30Sum
FROM Sites
WHERE SiteId = 1
GROUP BY SiteId
,并应该得到一排像...
╔════════╦════════════╗
║ SiteId ║ Last30Total║
╠════════╬════════════╣
║ 1 ║ 50 ║
╚════════╩════════════╝
不过我不知道如何使用Linq获得这个结果。我已经试过:
var statsRecord = from ss in db.SiteStats
where ss.SiteId == siteId
group ss by ss.SiteId into ss
select ss;
,但我不能回去的东西,如statsRecord.Last30
有人可以请让我知道总我要去哪里错了吗?任何帮助表示赞赏。
虽然OP没有问,你能告诉我们如何能在LINQ的方法语法来写? – FMFF 2015-03-03 17:13:35