Как вы сортируете столбец datetime в .NET MVC5
У меня есть ASP.NET приложение MVC, где у меня есть столбец в таблице, который отображает значения DateTime из базы данных MySQL. Колонки сортируются по строковое значение, а не значение типа datetime, на мой взгляд, показатель. Мне нужно, чтобы он отображался как пятница, 14 августа 2020 года, 05:13 вечера и сортировался по дате. Если я заставляю его показывать так, как мне нужно, он не сортируется, а если я заставляю его сортировать, он не показывает так, как мне нужно.
Что я уже пробовал:
Я получаю его для отображения в пятницу, 14 августа 2020 года, 05:13 вечера с помощью:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:f}")]
Мне нужно, чтобы он сортировался по дате/времени.
Это код, который у меня есть.
DataView:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:f}")] public System.DateTime JobDateTime { get; set; }
Контроллер:
public ActionResult Index() { return View(db.jobs.OrderByDescending(x=>x.JobDateTime).ToList()); }
индексированное представление:
@Html.DisplayFor(modelItem => item.JobDateTime)
Я также пытался сделать это в своем контроллере:
db.jobs.OrderByDescending(x => x.JobDateTime).Select(d => d.ToString("f")).ToList()
А это:
db.jobs.OrderByDescending(x => x.JobDateTime).ToList().Select(d => d.ToString("f"))
Оба они выдают ошибку, говорящую о том, что для ToString нет метода перегрузки, который принимает 1 аргумент
Любая помощь будет очень признательна. Заранее благодарю вас!
0x01AA
Наивный вопрос: почему бы уже не сортировать, когда данные извлекаются из mySQL?