我试图通过显示今天第一天的日期值和倒计时来命令我的LINQ,但是在我的实际LINQ中,值没有排列,它们有时按天排序,有时按月排序,但从来没有从今天的日期开始
这是我的LINQ:
foreach (var item in db.VENTA_PLATILLOS.Select(l => l.Fecha)
.Distinct().OrderByDescending(x => x.Month == result.Month && x.Day == result.Day))
{
dateday = item.ToString("yyyy-MM-dd");
var listItem = new SelectListItem { Value = dateday, Text = dateday };
listItem.Selected = result.Day == item.Day;
listdate.Add(listItem);
}
我如何先按实际日期正确订购?
EDIT ********
值来自日期时间模型变量我将添加一些日期示例:
2016-11-06 00:00:00.000
2016-11-05 00:00:00.000
2016-11-04 00:00:00.000
2016-11-03 00:00:00.000
2016-11-02 00:00:00.000
2016-10-31 00:00:00.000
2016-10-29 00:00:00.000
像这样
编辑2 *****
GOT现在固定 在按模型进行一些更改
之后,按月排序然后按日排序答案 0 :(得分:6)
.OrderByDescending(x => x.Month)
.ThenByDescending(x => x.Day)
LINQ提供ThenByDescending
,允许您在初始订单后订购。
但你应该能够做到这一点
.OrderByDescending(x => x)
,因为您已经在日期时间内进行迭代。
答案 1 :(得分:0)
难道您只需要通过x来订购Stackoverflower已经注明了吗? l.Fecha似乎是一个DateTime:
var items = from item in db.VENTA_PLATILLOS.Select(l => l.Fecha)
.Distinct()
.OrderByDescending(x => x)
let dateday = item.ToString("yyyy-MM-dd")
select new SelectListItem {Value = dateday, Text = dateday, Selected = result.Day == item.Day};
listdate.AddRange(items);