Преобразование строки в DateTime с использованием Entity Framework - PullRequest
2 голосов
/ 16 сентября 2011

У меня есть таблица Members со столбцом, содержащим дату рождения; по умолчанию тип данных для столбца dateofbirth равен varchar.

Как я могу преобразовать строку в DateTime, используя Entity Framework?

Я пробовал что-то вроде этого:

let dob = eclipse.members.Take(1)
                         .Select(x => report.member_Dob)
                         .Cast<DateTime>()
                         .FirstOrDefault()

Но у меня это не работает, и я не могу изменить схему.

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

К сожалению, L2E не поддерживает преобразования строк в DateTime. Есть несколько обходных путей, таких как анализ строки и создание объекта DateTime внутри запроса Linq для сравнения, но они многословны и безобразны.

Я бы предложил создать ваш запрос L2E как можно лучше, а затем использовать Linq to Objects, чтобы вернуть ваш окончательный набор данных.

0 голосов
/ 16 сентября 2011

что по этому поводу:

let dob =eclipse.members.Take(1).Select(x=> DateTime.Parse(report.member_Dob)).FirstOrDefault();

?

...