如何對DbSet中的查詢進行排序幷包含也應該排序的子項目。訂購實體框架項目和MVC視圖的子項目
示例:
我有一個調度訂單的模型。
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; }
隨後的操作方法
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 }
有某種語法?
相關的問題:
Ordering Entity Framework sub-items for EditorFor
C# Entity Framework 4.1 Lambda Include - only select specific included values
我不認爲我可以通過匿名類型的視圖,因爲HTML輔助使用拉姆達的。我只是猜測會有一個問題,但也許我應該檢查。 – Benjamin 2012-01-30 19:11:24
同樣的問題:http://stackoverflow.com/questions/8447384/how-to-order-child-collections-of-entities-in-ef?rq=1同樣的問題使用LINQ-to-Entities(類似SQL)語法:http://stackoverflow.com/questions/3981417/how-to-sort-inner-list-that-is-returned-by-entity-framework?rq=1 – 2013-01-24 03:09:49
也http://stackoverflow.com/questions/7522784/ef-4-1-code-first-how-to-order-navigation-properties-when-using-include-and-or 7528266#7528266 – 2014-07-14 16:53:13