Jak sortować zapytanie z DbSet i uwzględniać elementy podrzędne, które również należy sortować.Zamawianie obiektów Elementy struktury i elementy potomne dla widoku MVC
Przykład:
Mam model do planowania zamówień.
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<Order> Orders { get; set; }
}
...
public DbSet<Week> Weeks { get; set; }
public DbSet<Order> Orders { get; set; }
Następnie metoda działania
public ActionResult ShopSchedule()
{
return View(db.Weeks.OrderBy(w => w.StartDate)
.Include(w => w.Orders.OrderBy(o => o.SchedulingOrder))
.ToList());
}
To nie działa myślę, ze względu na charakter Include
. Czy muszę utworzyć osobny model widoku i mapować do niego? Czy jest jakiś sposób, aby ominąć to pytanie w zapytaniu? Jest jakaś składnia, w której ludzie mówią new { left = right, etc }
w zapytaniu?
pokrewnych pytania:
Ordering Entity Framework sub-items for EditorFor
C# Entity Framework 4.1 Lambda Include - only select specific included values
Nie sądzę, mogę przekazać anonimowe typy do widzenia, ponieważ HTML pomocnicy używać lambda jest. Zgaduję, że byłby z tym problem, ale może powinienem to sprawdzić. – Benjamin
To samo pytanie: http://stackoverflow.com/questions/8447384/how-to-order-child-collections-of-entities-in-ef?rq=1 To samo pytanie, używając LINQ-to-Entities (podobne do SQL) składnia: http://stackoverflow.com/questions/3981417/how-to-sort-inner-list-that-is-return-by-entity-framework?rq=1 –
Również http://stackoverflow.com/questions/7522784/ef-4-1-code-first-how-to-order-navigation-properties-when-using-include-and-or-lub/7528266 # 7528266 –