我正在努力学习 LINQ - 困难的方法。 我有一些实体,它们都是按顺序连接的 部门 -> 小组 -> 作品 -> 项目 项目有开始日期(和结束日期)
我正在尝试使用第一个开始日期来获取群组的开始日期。
我试过:
Department.Groups.Select(g => g.Works.Select(w => w.project.StartDate).Min())
及其各种变体。 问题是它在列表中的列表中返回列表,我一想到它就头晕 :)
我试着从
g.Works.Select(w=> w.Project.StartDate).Min()
这给了我最低的 Works 日期
非常感谢任何帮助
最佳答案
用 SelectMany
扁平化你的列表然后像这样应用 Min
:
var minDate = Department.Groups
.SelectMany(g => g.Works.Select(w => w.project.StartDate))
.Min();
这将返回所有 Groups
下所有 Works
的最短日期。
关于c# - 使用 Linq 获取 parent 曾孙的 "lowest"日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28996853/