我有一个名为Ticket的对象,它包含一个名为TicketActions的对象列表。票据对象有一个名为Date_Closed场和操作对象有一个名为ACTION_DATE场:使用linq按门票未关闭的最低日期订购门票?
Ticket
Date_Closed
TicketActions
-Action_Date
我试图做的是为了基于每个行动的最新日期门票的名单(名单)票据没有Date_Closed值的升序。目标是将此列表加载到列表视图中,并以在页面上按顺序显示票据的方式显示票据,将最长时间的票据放在顶部而不需要采取行动。那有意义吗?
这里是我结束了至今不工作:
protected List<FullTicket> BuildTickets(int ticketsToShow)
{
using (var db = new SupportLogDBDataContext())
{
var result =
(from ticket in db.Support_Tickets
join status in db.Ticket_Statuses on ticket.Status_ID equals status.ID
select new FullTicket
{
TicketID = ticket.ID,
DateOpened = (DateTime)ticket.Date_Opened,
DateClosed = (DateTime)ticket.Date_Closed,
Subject = ticket.Subject,
Status = new KeyPair { Key = status.Status, Value = status.ID },
CreatedBy = new GuidPair { Key = ticket.Reported_By, Value = (Guid)ticket.AD_GUID },
TicketActions =
(from a in db.Ticket_Actions
where a.Ticket_ID == ticket.ID
select a).ToList()
}).Take(ticketsToShow).ToList();
result.OrderBy(i => i.TicketActions.Where(i.DateClosed == null).Max()); //error on this line (invalid arguments)
return result;
}
}
有问题的简单错误,可能是您的问题。 'result = result.OrderBy ...' – 2012-03-15 16:58:09