SqlDateTime overflow. Må være mellem 1/1/1753 00:00:00 og 31/12/9999 11
Når data indsættes med NHibernate orm-rammeværket, blev ovenstående fejl rapporteret:
SqlDateTime overflow / SqlDateTime overflow [Resumé: Fejl - SqlDateTime overflow. Skal være mellem 1/1/1753 kl. 00:00:00 og 31/12/9999 kl. 23:59:59 SqlDateTime overflow. Skal være mellem 1/1/1753 00:00:00 Krig 31/12/9999 23:59:59 Årsag Når C# indsætter eller opdaterer database, dato og tid word]
Fejl - SqlDateTime overflow. Skal være mellem 1/1/1753 00:00:00 og 31/12/9999 23:59:59 SqlDateTime overflow. Skal være mellem 1/1/1753 00:00:00 og 31/12/9999 23:59:59
Årsag
Når man bruger C# indsæt eller opdatering database, er datotidsfeltværdien som standard null; indsættelse C# 0001-01-01 forårsager SQL Server datotidstype-overløb.
DateTime-typeområde i C#
DateTime.MinValue = 1/1/0001 00:00:00 AM DateTime.MaxValue = 23:59:59.99999999, 31. december 9999, præcis ét 100-nanosekunds tick før 00:00:00, 1. januar 10000 Datetime-typeområde i SQL Server
mellem 1/1/1753 00:00:00 og 31/12/9999 kl. 23:59:59
Efter at have læst denne artikel forstår jeg nok noget, der burde være en egenskab, der er tom, NHibernate sætter automatisk standardværdien, jeg tror, det burde være sådan her????
Derefter, efter at have tildelt attributten UpdateTime, som ikke oprindeligt var tildelt,fandt ud af, at der ikke var nogen fejl, og indsatte derefter datatabellen,
Men mit felt kan være tomt, hvad skal jeg gøre???
Find UpdateTime-egenskaben under klassen DateTime og sæt den til DateTime? Det vil sige, tillade tomhed. (I den mappede xml er bedst, også sat til ikke-null="falsk", som følger:)
Endelig, succes, tag et screenshot af databasen!
|