Как мне отсортировать запрос из DbSet и включить дочерние элементы, которые также должны быть отсортированы.
Пример:
У меня есть модель планирования заказов.
public class Order
{
public virtual int Id { get; set; }
public virtual int? SchedulingOrder { get; set; }
public virtual int? WeekId { get; set; }
public virtual Week Week { get; set; }
}
public class Week
{
public virtual int Id { get; set; }
public virtual DateTime StartDate { get; set; }
public virtual ICollection Orders { get; set; }
}
...
public DbSet Weeks { get; set; }
public DbSet Orders { get; set; }
Затем метод действия
public ActionResult ShopSchedule()
{
return View(db.Weeks.OrderBy(w => w.StartDate)
.Include(w => w.Orders.OrderBy(o => o.SchedulingOrder))
.ToList());
}
Я думаю, это не работает из-за природы Include
. Нужно ли мне создавать отдельную модель вида и сопоставлять с ней? Или есть способ обойти это прямо в запросе? Есть какой-то синтаксис, в котором люди говорят new {left = right, etc}
в запросе?
связанные вопросы:
Заказ подпунктов Entity Framework для EditorFor
C # Entity Framework 4.1 Lambda Include - выбирайте только определенные включенные значения