linq пытается преобразовать дату в строку, используя sql, но, поскольку в sql нет метода ToString (), он не может его преобразовать, такое поведение задуманно - Joakim
Другими словами, вернуть саму дату и преобразовать ее в строку после того, как она будет выполнена на стороне SQL:
(
select new { Username = u.Username,
PostingDate = c.Date
[...]
})
.ToList() // runs on SQL and returns to the application
.Select(o => // is not generating a SQL, it is running on the app
new Post { Username = o.Username,
PostingDate = o.PostingDate.ToString(),
[...]
})