2010-10-12 3 views
1

Im получаю странное сообщение об ошибке при попытке добавить новый элемент в таблицу с помощью LINQSQL DateTime Переполнение при использовании DateTime.Now + LINQ к SQL

Ошибка: переполнение SqlDateTime. Должно быть между 1/1/1753 12:00:00 AM и 12/31/9999 11:59:59 PM.

Код:

dbc.TblEvent newEvent = new dbc.TblEvent(); 
     newEvent.Subject = "Registered"; 
     newEvent.PersonID = PersonId; 
     newEvent.EventDate = DateTime.Now; 
     newEvent.EventTypeID = 23; 
     newEvent.EventStatusID = 10; 
     context.TblEvents.InsertOnSubmit(newEvent); 

Как вы можете видеть, что я ничего не делаю захватывающее. Что я могу сделать, чтобы отсортировать это?

ответ

5

99 из 100 раз переполнение времени в linq происходит потому, что дата не установлена. DateTime имеет значение по умолчанию, которое меньше, чем может обрабатывать sql.

Проверьте все ваши задания. Вам не хватает поля даты в таблице?

+0

Не указано, что arnt может быть nullable или по умолчанию (DateEntered установлен в getDate()) – DazManCat

+0

По умолчанию проблема. Linq не будет соблюдать значение по умолчанию по умолчанию и вместо этого назначит время min datetime. Установите свойство AutoGenerated для поля в дизайнере linq равным true – Andrey

+0

Ahhh да заметила проблему. Вы были правы, когда отсутствовало поле даты, хотя оно по умолчанию в БД, которое все еще жаловалось. – DazManCat

Смежные вопросы