Как прокомментировал Джон , ваш LINQ должен вызывать исключение, потому что вы сначала выбираете строки, а затем пытаетесь фильтровать их, как будто они являются объектами.
Но этот подход в любом случае обратный. Это просто получение данных, поэтому оно должно оставаться без изменений, без какого-либо форматирования. Пусть ваш слой представления будет отвечать за форматирование.
Атрибут DisplayFormat
великолепен, но только если вы используете Html.DisplayFor
/ Html.EditorFor
помощников. Если вы делаете что-то наподобие @Model.LogDate
, подумайте над тем, чтобы вызвать ToString(format)
в нужном вам формате.
Наконец, ваш формат не похож на пример, который вы хотели бы видеть. Правильный формат, который вы ищете: dddd, dd MMMM HH:mm:ss
.
В общем, оставьте фильтр как есть, и либо используйте DisplayFor
с этой аннотацией:
[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:dddd, dd MMMM HH:mm:ss}")]
public DateTime LogDate { get; set; }
...
@Html.DisplayFor(m => m[i].LogDate)
Или не беспокойтесь о каких-либо аннотациях, просто используйте
@Model[i].LogDate.ToString("dddd, dd MMMM HH:mm:ss")