私は次のクラスを持っています:
public class Order
{
public int Oid {get; set;}
public DateTime OrderDate {get; set;}
public List<OrderDetails> OrderDetails {get; set;}
}
public class OrderDetail
{
public int Oid {get; set;}
public int Price {get; set;}
public Order Order {get; set;}
public EventSchedule EventSchedule {get; set;}
}
public class EventSchedule
{
public int Oid {get; set;}
public BaseEvent BaseEvent {get; set;}
public List<OrderDetail> OrderDetails {get; set;}
}
public class BaseEvent
{
public int Oid {get; set;}
public string Name {get; set;}
public List<EventSchedule> EventSchedules {get; set;}
}
次のコードがあります。
var result = Database.Orders.Where(o => o.DateTime == dateTime);
今、私はソートしたいresult
:
case "Date":
result = (sortingOrder == "desc") ? result.OrderByDescending(c => c.OrderDate) : result.OrderBy(c => c.OrderDate);
break;
// the problem is here this code not works
case "EventName":
result = (sortingOrder == "desc") ? result.All(o=>o.OrderDetails.OrderBy(d=>d.EventSchedule.BaseEvent.Name)) : ...;
break;
にOrder
は のコレクションがありOrderDetail
ます。OrderDetail
持っていEventSchedule
ます。そして、EventSchedule
を持っていBaseEvent
ます。これは、Order
オブジェクトをName
プロパティで並べ替えることができBaseEvent
ますか?