Sql 如何在linq中对子查询中的相乘列求和

Sql 如何在linq中对子查询中的相乘列求和,sql,sql-server,entity-framework,linq,linq-to-sql,Sql,Sql Server,Entity Framework,Linq,Linq To Sql,我试图从表中乘以列,并使用子查询对乘以的列求和 select B.ID , sum(B) from ( select distinct A.Id, A.Savings * A.Spent as B, from A group by A.id ) B group by B.ID 如何将此sql查询转换为linq。您的查询在这一点上是错误的: A.Savings * A.Spent as B, from A group by A.id from子句之前的coma将使查询出错。请尝试以下方法:

我试图从表中乘以列,并使用子查询对乘以的列求和

select B.ID , sum(B) from (
select distinct A.Id, 
A.Savings * A.Spent as B,
from A group by A.id ) B
group by B.ID

如何将此sql查询转换为linq。

您的查询在这一点上是错误的:

A.Savings * A.Spent as B,
from A group by A.id
from子句之前的coma将使查询出错。请尝试以下方法:

SELECT
B.ID,
SUM(Total) AS TOTAL
FROM 
(SELECT
 A.Savings * A.Spent as Total
 From A
 Group by A.ID)
Group by B.ID

您的查询是正确的,以后可能只需要检查。

问题是如何将此sql查询转换为linq。