将 SQL 查询转换为 linq 查询表达式

本文关键字:查询 查询表 表达式 linq 转换 SQL | 更新日期: 2023-09-27 18:19:17

我有一个SQL查询,我试图将其转换为C#中的LINQ查询表达式,但我无法正确执行此操作。

查询如下:

select 
    P.id, P.name, COUNT(S.orderqty)
from 
    product as P 
inner join 
    sales as S on P.id = S.id
group by 
    p.id, p.name

我的 linq 代码:

IQueryable<ReportType1> query = 
    from product in EngineContext.Products
    join SalesOrder inEngineContext.SalesOrderDetails  
    on product.ProductID equals SalesOrder.ProductID
    group SalesOrder.OrderQty by product into groups
    select new ReportType1() {    
        Year = null,
        ProducId = groups.Key.ProductID,
        Name = groups.Key.Name,
        Quantity = ??
    };

Quantity的价值写什么?

将 SQL 查询转换为 linq 查询表达式

组的计数方法:

select new ReportType1
{
    Year = null,
    ProducId = groups.Key.ProductID,
    Name = groups.Key.Name,
    Quantity = groups.Count()
}