SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 00:00:00 Uhr und dem 31.12.9999 11 liegen
Beim Einfügen von Daten mit dem NHibernate-Orm-Framework wurde der obige Fehler gemeldet:
SqlDateTime-Überlauf / SqlDateTime-Überlauf [Zusammenfassung: Fehler – SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 um 00:00:00 Uhr und am 31.12.999 um 23:59:59 Uhr liegen, SqlDateTime-Überlauf. Muss zwischen dem 1.01.1753 00:00:00 Uhr liegen Krieg 31.12.9999 23:59:59 Grund Grund Beim Anwenden von C# Datenbank einfügen oder aktualisieren, Datum und Zeit Wort]
Fehler – SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 00:00:00 Uhr und dem 31.12.999 23:59:59 Uhr liegen SqlDateTime-Überlauf. Muss zwischen dem 1.1.1753 00:00:00 Uhr und dem 31.12.999 23:59:59 Uhr liegen
Ursache
Bei Verwendung von C# Insert- oder Update-Datenbank ist der Datetime-Feldwert standardmäßig null. Die Einfügung C# 0001-01-01-01 verursacht einen Überlauf des SQL-Server-Datetime-Typs.
DateTime-Typbereich in C#
DateTime.MinValue = 1.1.0001 00:00:00 Uhr DateTime.MaxValue = 23:59:59.99999999, 31. Dezember 9999, genau ein 100-Nanosekunden-Tick vor 00:00:00, 1. Januar 10000 Datetime-Typbereich in SQL Server
zwischen dem 1.01.1753 00:00:00 Uhr und dem 31.12.999 23:59:59 Uhr
Nachdem ich diesen Artikel gelesen habe, habe ich wahrscheinlich etwas verstanden: Es sollte eine Eigenschaft geben, die leer ist, NHibernate setzt automatisch den Standardwert, ich denke, es sollte so sein????
Dann, nachdem das ursprünglich nicht zugewiesene UpdateTime-Attribut zugewiesen wurde,stellte fest, dass kein Fehler vorlag, und fügte dann die Datentabelle ein,
Allerdings kann mein Fachgebiet leer sein, was soll ich tun???
Finden Sie die UpdateTime-Eigenschaft unter der Klasse DateTime und setzen Sie sie auf DateTime? Das heißt, Leere zulassen. (Im abgebildeten XML ist am besten, ebenfalls auf nicht-null="false" gesetzt, wie folgt:)
Endlich, Erfolg – mach einen Screenshot der Datenbank!
|