【发布时间】:2018-10-05 01:03:46
【问题描述】:
我有一个如下所示的对象列表:
public class A
{
public int Id {get; set;}
public DateTime Date {get;set;}
public int TypeId {get; set;}
public int Version {get; set;}
}
我的数据如下所示:
Id Date TypeId Version
1 10/3/18 1 1
2 10/3/18 1 2
3 10/4/18 1 1
4 10/4/18 2 1
如何进行 linq 查询以在列表中返回这 2 个,在该列表中它获取版本号为 1 的最大日期的项目,并且还使用 TypeId 返回更多项目?
Id Date TypeId Version
3 10/4/18 1 1
4 10/4/18 2 1
这是我尝试过的,但由于我的 FirstOrDefault 函数,我的代码只返回一个项目。
var q = from n in A.All.Where(x => x.Version == 1)
group n by n.TypeId into g
select g.OrderByDescending(t => t.Date).FirstOrDefault();
【问题讨论】:
-
also uses the TypeId to return more items?是什么意思