Ich versuche, die folgende SQL mit LINQ durchzuführen, und die nächste, die ich bekam, war Cross-Joins und Summenberechnungen. Ich weiß, dass es einen besseren Weg geben muss, es zu schreiben, also wende ich mich an das Stack-Team um Hilfe.LINQ: Verwendung von INNER JOIN, Group und 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
Was ich versucht haben, ist die folgende LINQ-Code
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)};
Ich weiß, dass es einen besseren Weg zu sein hat, es zu schreiben, ich weiß nur nicht, wie jede Hilfe wäre toll!
Sie Nick Vielen Anfänglicher Ich dachte, die Antwort falsch war, aber nachdem es rereading und es wieder Durchführung erkannte ich, ich habe einen Fehler in meinem ersten Versuch hatte und Ihre Antwort war genau richtig. Danke! – Nic
Für neuere .NET-Versionen (4.0 und höher?), Werfen Sie einen Blick auf die Antwort von thnaing unten. –