5
简单通过嵌套集合
public class TimeLine
{
public String Name {get;set}
public List<Milestone> MilesStones {get;set}
}
public class Milestone
{
public String Name {get;set}
public DateTime Time {get;set}
}
排序依据父对象我想: from t in DataAccess.TimelineCollection.OrderBy(c=>c.MilesStones.OrderBy(z=>z.MilestoneDate)) select t;
却得到了一个错误“至少有一个对象必须实现IComparable。”
我需要通过Milestone.Time订购TimeLine。列表中的第一个项目将是Milestone集合中最具时间属性的项目。
需要链接帮助。
乔恩,谢谢你的回答。有没有办法来检查TimeLine是否没有里程碑,只是把它放在最上面? – dotsa
'DataAccess.TimelineCollection .Where(m => m.MilesStones.Count!= 0) .OrderBy(t => t.MilesStones.Min(m => m.MilestoneDate)) .Concat((DataAccess.TimelineCollection。 (m => m.MilesStones.Count == 0)));' – dotsa
@dotsa:您可以使用'.OrderBy(t.MileStones.Select(x => x.Time).FirstOrDefault())' –