下面我有表 - 公司
  id name value year
    1  IBM   10   2011
    2  IBM   30   2012
    3  IBM   10   2012
    4  C     10   2010
我想按名称对记录进行分组,并且从每个组中只返回一条具有最大id的记录。所有结果都合并到使用 linq 的公司列表中,其中年份大于 2011 年。对于我的示例输出应该是 - “3 IBM 10 2012”
我确实写了一些东西,但没有用。
var a = from x in companies where x.year > 2011
                  group x by new {x.name, x.value, x.ID, x.year } into g
                  select new {
                                  g.Key.name,
                                  g.Key.value,
                                  g.Max(a=>a.ID),
                                  g.Key.value
                              };
 return a.ToList();