简体   繁体   English

将给定的 SQL 查询转换为实体框架的 linq

[英]Convert a given SQL query into linq for Entity Framework

Can someone help me to convert the below SQL query to Linq?有人可以帮我将下面的 SQL 查询转换为 Linq 吗? I tried so many methods none of them are worked.我尝试了很多方法,但都没有奏效。

SELECT PM.Name, SUM(CO.TotalPrice) 
FROM CustomerOrder CO, PaymentMethod PM 
WHERE CO.PaymentID = PM.PaymentID 
  AND CO.Status = 'CL' 
GROUP BY PM.Name

It's really straightforward.这真的很简单。 You just need a Navigation Property on CustomerOrder for PaymentMethod, and then you translate the group by and select , something like this:您只需要在 CustomerOrder 上为 PaymentMethod 提供一个导航属性,然后通过select翻译group by ,如下所示:

select PM.Name,SUM(CO.TotalPrice) 
from CustomerOrder CO, PaymentMethod PM 
where CO.PaymentID=PM.PaymentID 
and CO.Status='CL' 
group by PM.Name

becomes变成

from o in db.CustomerOrder
where o.Status == 'CL'
group o by o.PaymentStatus.Name into g
select new { PaymentStatus = g.Key, Total = g.Sum(o => o.TotalPrice) };

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM