SqlDateTime ületäitumine. Peab olema ajavahemikus 1.01.1753 00:00:00 kuni 31.12.9999 00:00
Andmete sisestamisel NHibernate orm raamistikuga teatati ülaltoodud viga:
SqlDateTime ülevool / SqlDateTime ületäitmine [Kokkuvõte: Viga - SqlDateTime ületäitmine. Peab toimuma ajavahemikus 1.01.1753 kell 00:00:00 kuni 31.12.9999 kell 23:59:59 SqlDateTime ületäitumine. Peab olema vahemikus 1.01.1753 00:00:00 Sõda 31.12.999 23:59:59 Põhjus C# rakendamisel sisesta või uuenda andmebaasi, kuupäev ja aeg sõna]
Viga - SqlDateTime ületäitumine. Peab toimuma ajavahemikus 1.01.1753 kell 00:00:00 kuni 31.12.9999 kell 23:59:59 SqlDateTime ületäitumine. Peab toimuma ajavahemikus 1.01.1753 kell 00:00:00 kuni 31.12.9999 kell 23:59:59
Põhjus
C# sisestamise või uuendamise andmebaasi kasutamisel on datetime välja väärtus vaikimisi null, lisamine C# 0001-01-01 põhjustab SQL serveri datetime tüübi ülevoolu.
DateTime tüübivahemik C#-s
DateTime.MinValue = 1/1/0001 12:00:00 AM DateTime.MaxValue = 23:59:59.999999, 31. detsember 9999, täpselt üks 100-nanosekundiline tikk enne 00:00:00, 1. jaanuar 10000 Datetime tüübivahemik SQL Serveris
1.01.1753 kell 00:00:00 kuni 31.12.9999 kell 23:59:59
Pärast selle artikli lugemist saan ilmselt aru – peaks olema omadus, mis on tühi, NHibernate määrab automaatselt vaikimisi väärtuse, arvan, et see peaks olema selline????
Seejärel, pärast UpdateTime atribuudi määramist, mis algselt ei olnud määratud,leidis, et viga ei olnud, ja seejärel lisati andmetabel,
Kuid mu valdkond võib olla tühi, mida peaksin tegema???
Leia UpdateTime omadus klassi DateTime alt ja määra see DateTime'iks? See tähendab, et lubada tühjust. (Kaardistatud versioonis on xml parim, samuti seatud not-null="false"-ks, järgmiselt:)
Lõpuks, edu, tee andmebaasist ekraanipilt!
|