ПростогоOrderBy объект Родителя вложенного Collection
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.»
Мне нужно заказать TimeLine по Milestone.Time. Первым проектом в списке будет тот, у которого есть свойство leraliest Time в коллекции 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()) ' –