Linq a SQL equivalente a la statement SUM GROUP BY SQL

Estoy teniendo dificultades para entender cómo traducir esta simple instrucción SQL a (c #) linq en SQL:

SELECT table1.vat, SUM(table1.QTY * table2.FLG01 + table1.QTY * table2.FLG04) FROM table1 inner join table2 on table2.key= table1.key where '2010-02-01' <= table1.trndate and table1.trndate <= '2010-02-28' Group by table1.vat 

Cualquier ayuda es apreciada

Todavía estoy aprendiendo LINQ, pero parece que funciona

 var result = from t1 in table1 from t2 in table2 where t1.key == t2.key && DateTime.Parse("2010-02-01") <= t1.trndate && t1.trndate <= DateTime.Parse("2010-02-28") group new {t1,t2} by t1.vat into g select new { vat = g.Key, sum = g.Sum(p => p.t1.QTY*p.t2.FLG01 + p.t1.QTY*p.t2.FLG04)}; 

Espero que se traduzca bien a LINQ to SQL porque solo lo probé en objects.

Entonces, con la ayuda de Jonas, la consulta anterior dice esto (usando la combinación interna):

 var result = from t1 in table1 join t2 in table2 on t1.key equals t2.key where DateTime.Parse("2010-02-01") <= t1.trndate && t1.trndate <= DateTime.Parse("2010-02-28") group new {t1,t2} by t1.vat into g select new { vat = g.Key, sum = g.Sum(p => p.t1.QTY*p.t2.FLG01 + p.t1.QTY*p.t2.FLG04)};