实体框架:我如何将group by转换为实体框架语句

时间:2016-05-08 23:12:01

标签: c# sql entity-framework linq

SELECT 
    MAX([VersionCode]) AS VersionCode, 
    [PackageName]
FROM 
    [dbo].[Application]  
GROUP BY 
    [PackageName]
ORDER BY 
    [VersionCode] DESC

这个sql语句允许我通过分组选择应用程序的最大版本。

我很难将其翻译为使用Entity Framework,主要是逐个部分:

GroupBy ( a=>a.PackageName ) 

然后我不知道如何以最高版本获得应用程序。

1 个答案:

答案 0 :(得分:1)

GroupBy之后,您需要使用Select投影输出。如您所希望获得最高版本,请使用Max

var results = db.Applications
    .GroupBy(a => a.PackageName)
    .Select(g => new 
    {
        PackageName = g.Key,
        Version = g.Max(a => a.VersionCode)
    });
相关问题