我有一个产品列表,每个产品都包含另一个产品列表。我想通过名为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
手动指定的话,该怎么办?