Linq to SQL使用Lambda表达式以及Join,GroupBy,Count和Sum

时间:2016-06-02 09:57:31

标签: sql linq join lambda count

我使用这个SQL语句来获得我想要的东西:

Time.delta

我尝试使用Linq lambda表达式获得相同的结果:

select count(o.Id) as order_amount, sum(r.Price) as Total_ordersum from Orders o join OrderRows r on o.Id = r.OrderId;

但我得到三行而不是一行,总订单金额和所有订单的总和。我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

  

我在这里做错了什么?

LINQ和SQL查询不等效。您的SQL查询没有<form remote="true"...> ,而LINQ查询按顺序GROUP BY分组并记录Id,这当然会产生不同的结果。此外,SQL查询会对记录Price求和,而LINQ查询则不会。

使用一种不寻常的Price 常量运算符,您可以在LINQ中获得相同的结果:

group by