Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获得类似于此tsql查询的lambda查询?_C#_Linq_Entity Framework_Tsql_Group By - Fatal编程技术网

C# 如何获得类似于此tsql查询的lambda查询?

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,

具有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查询不起作用。

我想这就是您想要的:

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)
};