按创建日期订购子列表

时间:2015-07-10 12:53:34

标签: c# .net linq

我有一个产品列表,每个产品都包含另一个产品列表。我想通过名为CreationDate的礼仪来命令这些列表。我设法订购主列表,但我似乎无法订购子列表而不使用每个。现在我有这个:

products = products
 .Where(product => product.ProductAlternatives
 .Any(productAlt => (productAlt.ProductAlternativeStatusId == Util.ProductStatus.ACTIVE) 
   || (productAlt.ProductAlternativeStatusId == Util.ProductStatus.TRANSFERRED) 
   || (productAlt.ProductAlternativeStatusId == Util.ProductStatus.DELETED)))
.OrderBy(y => y.CreationDate); //order the products by creation date

按创建日期订购替代产品:

foreach (var product in products) { 
    product.ProductAlternatives = product.ProductAlternatives
                                         .OrderBy(x => x.CreationDate)
                                         .ToList();
}    

还有更好的方法吗? 谢谢!

编辑:在指出为重复的问题中,解决方案是

parents = (from p in parents
       orderby p.Name
       select new Parent
       {
           Name = p.Name,
           Children = p.Children.OrderBy(c => c.Name).ToList()
       }
      ).ToList();

我的问题是,如果父母有许多礼仪,如果所有礼仪都是select new Parent手动指定的话,该怎么办?

0 个答案:

没有答案