2016-02-29 88 views
-1

我想通过使用linq来排列我的客户的最后一个订单。C#Linq OrderBy

_list = _data.OrderBy(adress => adress.LastOrder.Date);

我在这里的问题是,对于某些客户LastOrderNULL

我怎样才能解决这个问题?

+0

是否要包含这些客户或从排序列表中排除它们? –

+0

是的,我想包括他们 –

+0

@阳光男孩 - 他们应该在哪里坐?你是按这些日期升序还是降序排序? –

回答

1

试试这个:

_list = _data.OrderBy(adress => 
    adress.LastOrder == null 
     ? DateTime.MaxValue 
     : adress.LastOrder.Date); 

你需要根据你想如何订购null项目DateTime.MaxValueDateTime.MinValue之间做出选择。

0

你必须处理空的情况:

var orderedByLastOrder = _data 
    .OrderBy(x => x.LastOrder == null ? DateTime.MinValue : x.LastOrder.Date);