我正在尝试使用LINQ执行以下SQL,并且我得到的距离最近的是做交叉连接和总计算。我知道必须有更好的方式来编写它,所以我正在向堆栈团队寻求帮助。LINQ:使用INNER JOIN,组和SUM
SELECT T1.Column1, T1.Column2, SUM(T3.Column1) AS Amount
FROM T1
INNER JOIN T2
ON T1.T1ID = T2.T1ID
INNER JOIN T3
ON T2.T3ID = T3.T3ID
GROUP BY T1.Column1, T1.Column2
我一直在努力为以下LINQ代码
var qTotal = from T2 in context.T2
from T3 in context.T3
where T3.T3ID == T3.T3ID
group T3 by T2.T1ID into gT2T3
from T1 in context.T1
where gT2T3.Key.Equals(T1.T1ID)
select new { T1.Column1,T1.Column2,Amount = gT2T3.Sum(t => t.Column1)};
我知道必须有把它写一个更好的办法,我只是不知道任何帮助将如何,是伟大的!
谢谢尼克,我最初的想法,答案是不正确的,但重读它,并再次执行它,我意识到我在最初尝试了一个错误,你的答案是现货。谢谢! – Nic 2009-02-10 04:10:14