Использование LINQ для сущностей. Этот код в анонимном виде
MessageDate = DateTime.Parse(email.MessageDate),
выдает эту ошибку:
Переполнение SqlDateTime. Должно быть между 01.01.1753 12:00:00 и 31.12.9999 11:59:59 вечера.
MessageDate - это SQL DateTime, а email.MessageDate - это строка.
Я попробовал это, но это не помогло:
MessageDate = DateTime.Parse(string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}", DateTime.Parse(email.MessageDate)))
Любая помощь приветствуется.
Подробнее:
Строковое значение email.MessageDate: «Ср, 15 июня 2011 13:29:00 -0400»
Кроме того, если я просто сделаю
MesssageDate = Date.Now
Я получаю ту же ошибку.
Кроме того, это SQL Server 2005
Еще тестирование: я установил точку останова, чтобы увидеть, что разрешено в значение true
var x = 1;
if (DateTime.Now > System.Data.SqlTypes.SqlDateTime.MinValue.Value)
x = 1; // True
if (DateTime.Now < System.Data.SqlTypes.SqlDateTime.MinValue.Value)
x = 1;
if (DateTime.Now > System.Data.SqlTypes.SqlDateTime.MaxValue.Value)
x = 1;
if (DateTime.Now < System.Data.SqlTypes.SqlDateTime.MaxValue.Value)
x = 1; // True
if (DateTime.Now < DateTime.MinValue)
x = 1;
if (DateTime.Now > DateTime.MinValue)
x = 1; // True
if (DateTime.Now < DateTime.MaxValue)
x = 1; // True
if (DateTime.Now > DateTime.MaxValue)
x = 1;
Так что мне кажется, что DateTime.Now находится во всех допустимых диапазонах.
Спасибо,
Mark