Переполнение SQL DateTime при использовании DateTime.Now + LINQ to SQL - PullRequest
1 голос
/ 12 октября 2010

При попытке добавить новый элемент в таблицу с помощью LINQ

я получаю странную ошибку

ошибка: переполнение SqlDateTime. Должно быть между 01.01.1753 12:00:00 и 31.129999 11:59:59 вечера.

Код:

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);

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

Ответы [ 2 ]

5 голосов
/ 12 октября 2010

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

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

0 голосов
/ 16 ноября 2018

Другой сценарий для этого: изменил запрос с ЛЕВОГО СОЕДИНЕНИЯ на ВНУТРЕННЕЕ СОЕДИНЕНИЕ, что сделало ранее обнуляемое поле даты / времени необнуляемым.Нужно удалить таблицу из .dbml и заново добавить, чтобы заставить его обновить модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...