2014-01-30 185 views
0

在我通過.Include(ta => ta.TicketActivities)這是ICollection<TicketActivity>()類型對我Ticket類反向導航屬性檢索的TicketsTicketActivities列表。LINQ排序依據包含的集合

如何通過SubmitDate屬性和TicketActivities屬性DateTime屬性對我的票進行排序?

using (var entityContext = new InformationSystemsContext()) 
{ 
    IQueryable<Ticket> tickets = null; 
    tickets = entityContext.Tickets.Include(i => i.TicketActivities) 
            .OrderBy(t => t.SubmitDate).ThenBy(t => t.TicketActivities.DateTime); 
} 

回答

0
var query = (from Ticket in entityContext.Tickets 
      join Activity in entityContext.TicketActivities 
       on Ticket.ID equals Activity.TicketID into JoinedList // fields you made relationship base on those 
      group JoinedList by Ticket into GroupedList 
      select new { 
       Ticket = GroupedList.Key, 
       Activities = GroupedList.OrderBy(u => u.DateTime) 
      }) 
      .OrderBy(u => u.SubmitDate) 
      .ToList();