C# 如何获得类似于此tsql查询的lambda查询?
具有T-SQL查询:C# 如何获得类似于此tsql查询的lambda查询?,c#,linq,entity-framework,tsql,group-by,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,
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查询不起作用。我想这就是您想要的:
var latestProducts = ProductsDBContext.Products
.GroupBy(p => p.ProductNumber).Select(g => new
{
ProductNumber = g.Key,
MaxProductRevNumber = g.Max(p => p.ProductRevNumber))
});
g键代表什么?它是一个特殊的关键字还是某种排序?g.Key是您分组的字段的值(即p.ProductNumber)。
from p in db.Products
group p by p.ProductNumber into g
select new
{
ProductNumber = g.Key,
ProductRevNumber = g.Max(p => p.ProductRevNumber)
};