如何获得类似于这个tsql查询的lambda查询?

时间:2012-07-13 16:24:22

标签: c# linq entity-framework tsql group-by

拥有T-SQL查询:

select [ProductNumber] ,max([ProductRevNumber])
from Products  
group by [ProductNumber]

尝试LINQ查询:

ProductsDBContext.Products.GroupBy(x => x.ProductRevNumber)
                          .Select(group => ProductNumber, 
                                           ProductRevNumber = group.Max(x => x.ProductRevNumber));

lambda查询不起作用。

2 个答案:

答案 0 :(得分:6)

我认为这就是你所追求的目标:

var latestProducts = ProductsDBContext.Products
    .GroupBy(p => p.ProductNumber).Select(g => new 
    {
        ProductNumber = g.Key,
        MaxProductRevNumber = g.Max(p => p.ProductRevNumber))
    });

答案 1 :(得分:2)

from p in db.Products
group p by p.ProductNumber into g
select new
{
    ProductNumber = g.Key,
    ProductRevNumber = g.Max(p => p.ProductRevNumber)
};