按日期查询唯一项目

时间:2018-01-05 09:46:21

标签: c# linq

我正在查询TFS构建,我想选择2015年或更早版本中最新构建的项目。

df1 = df.set_index(['Date', 'Team'])
df2 = df.set_index(['Date', 'Opponent'])

df3 = pd.concat([df1, df2], axis=1)

问题是变量" build"每个项目包含多个构建。因此,ProjectA可以在2015年,2016年,2017年包含构建。

如何使用linq获取2015年最后一次构建的独特项目?

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

var oldBuilds = builds.GroupBy(allBuilds => allBuilds.BuildDefinition)
                      .Where(projectBuilds => projectBuilds.All(
                          project => project.FinishTime.Year< 2016))
                      .Select(projectBuilds => projectBuilds.OrderByDescending(
                          project => project.FinishTime).FirstOrDefault());

这将返回自2015年以来尚未构建的所有项目的最新版本。