Linq To SQl Max

本文关键字:Max SQl To Linq | 更新日期: 2023-09-27 18:33:44

>我有一个简单的表格,包含 3 列

Id, Version, RecId.
 1,       1,    50
 1,       2,    51
 1,       3,    52
 2,       1,    53
 2,       2,    54
 3,       1,    55

我想创建一个返回 id 和最高版本的 LINQ to SQL 语句。

因此,在此示例中,我的 LINQ 语句应返回。1,32,23,1

Linq To SQl Max

您可以使用

GroupByMax

var query = db.TableName.GroupBy(x => x.Id)
    .Select(g => new{ Id = g.Key, MaxVersion = g.Max(x => x.Version) });

当然,您也可以创建 poco 类的集合,而不是此匿名类型。或者你可以在foreach中循环它:

foreach(var x in query)
{
    int id = x.Id;
    int maxVersion = x.MaxVersion;
}