Я использую инфраструктуру сущностей и AutoMapper в своем проекте. В базе данных поля DatreTime изначально были созданы как поля строкового типа и остаются такими же (например, поля «DepartureTime» и «ArrivalTime»). Я пытаюсь выполнить сравнение DateTime в своем решении в запросе linq к dbContext, используя DateTimeOffset, чтобы преобразовать строку в DateTime. Но я получаю сообщение об ошибке
Я использую запрос:
db.Passengers
.Where(p => p.AreaOfVisit == area && DateTimeOffset.Parse(p.DepartureTime).UtcDateTime > incidentDate &&
DateTimeOffset.Parse(p.ArrivalTime).UtcDateTime < incidentDate).ProjectTo<PassengerDTO>()
.ToList();
Я получаю это сообщение об ошибке.
System.NotSupportedException HResult=0x80131515 Message=LINQ to Entities не распознает метод «System.DateTimeOffset Parse(System.String)», и этот метод не может быть преобразован в выражение хранилища.
Что может быть лучшим способом решить эту проблему.