我正在运行EF查询,其中一列是可为空的StartDate。我需要将日期格式设置为“ MM / dd / yyyy”,但我在EF排序方式方面遇到问题。
起初,我尝试通过ASC使用ToString(“ MM / dd / yyyy”),但结果不是按年份排序,而是按月排序,最后按日期排序。他们按月排序,然后按日排序。
例如。
2010年1月1日
2010年2月1日
2010年3月1日
2011年1月1日
StartDateString = (r.StartDate != null) ? ((DateTime)r.StartDate).ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)
因此,我尝试了.ToString(“ yyyy / MM / dd”),该方法可以按年份,月份和最后一天进行排序,但是我需要使用其他格式,它必须为“ MM / dd” / yyyy”
我能正确执行此操作吗,还有另一种方式可以编写此查询以获取正确排序时想要的格式吗?
任何帮助将不胜感激。
按部分排序如下:
recordsVM = recordsVM.OrderBy(c => c.StartDate)
我刚刚尝试了
recordsVM = recordsVM.OrderBy(c => c.StartDate.Value.Year).ThenBy(c => c.StartDate.Value.Month).ThenBy(c => c.StartDate.Value.Day);
但是现在它抛出一个错误,不返回任何东西