J'ai un IQueryable<Product>
qui doit être trié par Name
. Chaque Product
a un IQueryable<Category>
qui doit également être trié par Name
. J'ai du mal à l'exprimer à Linq. Je pourrais passer en revue les produits et trier chaque liste de catégorie, mais il semble malpropre. Espérer un ninja Linq a une solution plus intelligente.Trier la collection et la sous-collection en même temps
Mon Product
classe ressemble à:
public class Product {
public string Name { get; set; }
public IQueryable<Category> Categories { get; set; }
}
Ma classe Category
ressemble:
public class Category {
public string Name { get; set; }
}
Actuellement, je suis en train de faire ceci:
var myProducts = products.OrderBy(x => x.Name).Select(x => new Product {
Name = x.Name,
Categories = x.Categories(y => y.Name)
});
Le problème est, quand en utilisant quelque chose comme NHibernate, cela crée de nouveaux objets de produit, essentiellement disque connecter le produit de la session NH.
Je ne pense pas que ce soit désordonné. Le tri des produits et le tri des catégories sont deux opérations totalement différentes sur le plan conceptuel; ce n'est pas mal de les séparer en code. – mquander
Quel est l'état final que vous essayez d'atteindre? Une liste? –
arootbeer
J'ai mis à jour ma question. –