SqlDateTime přetečení. Musí být mezi 1.1.1753 00:00:00 a 31.12.9999 11
Při vkládání dat do rámce NHibernate orm byla nahlášena výše uvedená chyba:
Přetečení SqlDateTime / Přetečení SqlDateTime [Shrnutí: Chyba - přetečení SqlDateTime. Musí být mezi 1.1.1753 00:00:00 a 31.12.9999 ve 23:59:59 SqlDateTime přetečení. Musí být mezi 1.1.1753 a 00:00:00 Válka 31.12.9999 23:59:59 Důvod Při aplikaci C# vložte nebo aktualizujte databázi, datum a čas slovo
Chyba - přetečení SqlDateTime. Musí to být mezi 1.1.1753 00:00:00 a 31.12.9999 ve 23:59:59 SqlDateTime přetečení. Musí to být mezi 1.1.1753 00:00:00 a 31.12.9999 ve 23:59:59
Příčina
Při použití C# insert nebo update database je hodnota pole datetime ve výchozím nastavení null. Vložení C# 0001-01-01 způsobí přetečení typu datetime SQL serveru.
Rozsah typů DateTime v C#
DateTime.MinValue = 1/1/0001 00:00 AM DateTime.MaxValue = 23:59:59.99999999, 31. prosince 9999, přesně jeden 100-nanosekundový tik před 00:00:00, 1. ledna 10000 Rozsah typů datového času v SQL Serveru
mezi 1. 1. 1753 00:00 a 31. 12. 19999 23:59
Po přečtení tohoto článku asi něco chápu, měla by existovat vlastnost, která je prázdná, NHibernate automaticky nastaví výchozí hodnotu, myslím, že by to mělo být takto????
Poté, co přiřadíte atribut UpdateTime, který původně nebyl přiřazen,Zjistil, že chyba nebyla, a poté vložil datovou tabulku,
Ale moje pole může být prázdné, co mám dělat???
Najít vlastnost UpdateTime pod třídou DateTime a nastavit ji na DateTime? To znamená, že dovolí prázdnotu. (V mapovaném xml je nejlepší, také nastaveno na not-null="false", jak je následující:)
Nakonec, úspěch, udělejte screenshot databáze!
|