Переполнение SqlDateTime. Должно быть между 1/01/1753 и 12:00:00 ночи и 31.12.9999 11
При вставке данных в фреймворк NHibernate orm была зафиксирована вышеуказанная ошибка:
SqlDateTime overflow / SqlDateTime overflow [Резюме: Ошибка — переполнение SqlDateTime. Должно быть между 1/01/1753 и 31.12.9999 11:59:59 PM SqlDateTime overflow. Должно быть между 1/1/1753 и 00:00 ночи Война 31.12.9999 23:59:59 Причина при применении C# вставить или обновить базу данных, слово datetime
Ошибка — переполнение SqlDateTime. Должно быть между 1/01/1753 и 12:00:00 ночи и 31.12.9999 23:59 Переполнение SqlDateTime. Должно быть между 1/01/1753 и 12:00:00 ночи и 31.12.9999 23:59
Причина
При использовании базы данных C# вставить или обновить значение поля datetime по умолчанию null; вставка C# 0001-01-01 вызывает переполнение типа datetime sql server.
Диапазон типов DateTime в C#
DateTime.MinValue = 1/1/0001 00:00:00 DateTime.MaxValue = 23:59:59.9999999, 31 декабря 9999, ровно один тик в 100 наносекунд до 00:00:00, 1 января 10000 Диапазон типов дат-времени в SQL Server
между 1.01.1753 00:00 и 31.12.9999 23:59
После прочтения этой статьи, наверное, я что-то понял: должно быть пустое свойство, NHibernate автоматически устанавливает значение по умолчанию, думаю, так и должно быть????
Затем, после назначения атрибута UpdateTime, который изначально не был назначен,обнаружил, что ошибки не было, а затем вставил таблицу данных,
Однако моя сфера может быть пустой, что мне делать???
Найдите свойство UpdateTime в классе DateTime и установите его на DateTime? То есть допускать пустоту. (В отображённом xml лучше всего, также установлен на not-null="false", следующим образом:)
Наконец-то успех, сделайте скриншот базы данных!
|