2012-11-13 3 views
3

나는 다음과 같은 클래스가 :정렬 부모 엔티티

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; 
:

var result = Database.Orders.Where(o => o.DateTime == dateTime); 

지금, 나는이 result을 정렬 할 : 나는 다음과 같은 코드가있다

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;} 
} 

Order의 컬렉션은 OrderDetail입니다. OrderDetailEventSchedule입니다. 그리고 EventScheduleBaseEvent입니다. 이 Order 개체를에 의해 BaseEvent 속성으로 정렬 할 수 있습니까?

답변

2

이것이

case "EventName": 
    result = results.OrderBy(
     r => r.OrderDetails.Select(
      od => od.EventSchedule.BaseEvent.Name).Distinct().FirstOrDefault()); 
//... 
에 대한
관련 문제