使用实体框架查询格式化日期时间无法使用ToString(“ MM / dd / yyyy”)

时间:2019-04-17 16:58:34

标签: entity-framework sorting datetime

我正在运行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);

但是现在它抛出一个错误,不返回任何东西

0 个答案:

没有答案