У меня есть запрос EF, в котором мне нужно получить первый день месяца в коллекции сущностей DateTime. Это использует Linq to Entities (если бы это был Linq to Objects, я бы просто создал новый DateTime). Это в основном код, который я использую:
dbContext.Calendar
.Select(date => DbFunctions.CreateDateTime(date.Year, date.Month, 1, 0, 0, 0))
.ToList();
Это приводит к следующей ошибке: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
Однако, глядя на поступающие данные, самое близкое, что я вижу за год 0, это 2000, но это происходит, даже если я ограничиваю его не 2000 годом.
Кроме того, dbContext.Calendar.ToList();
работает просто отлично, но это не дает мне первого месяца.
Это известная ошибка? Есть ли лучший способ найти первое число месяца? Есть ли лучший способ создания экземпляров DateTimes в Linq to Entities для базы данных Oracle?
Спасибо.