Я использую Entity Framework и 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 Сообщение= LINQ to Entities не распознает метод метода System.DateTimeOffset Parse (System.String), и этот метод нельзя преобразовать в выражение хранилища.
Что может быть лучшим способом решенияэтот вопрос.