У меня есть IQueryable<Product>
, который нужно отсортировать по Name
. Каждый Product
имеет IQueryable<Category>
, который также должен быть отсортирован по Name
. Мне трудно выразить это в Linq. Я мог бы пройтись по продуктам и отсортировать каждый список категорий, но это кажется грязным. Надеясь на ниндзя Линка, есть более разумное решение.
Мой Product
класс выглядит так:
public class Product {
public string Name { get; set; }
public IQueryable<Category> Categories { get; set; }
}
Мой Category
класс выглядит так:
public class Category {
public string Name { get; set; }
}
В настоящее время я делаю это:
var myProducts = products.OrderBy(x => x.Name).Select(x => new Product {
Name = x.Name,
Categories = x.Categories(y => y.Name)
});
Проблема в том, что при использовании чего-то вроде NHibernate это создает новые объекты Product, по существу отключая продукт от сеанса NH.