Przepełnienie SqlDateTime. Musi to być między 1.01.1753 00:00:00 a 31.12.9999 o 11
Podczas wstawiania danych w ramach NHibernate orm zgłaszano powyższy błąd:
Przelew SqlDateTime / Przelew SqlDateTime [Podsumowanie: Błąd - przepełnienie SqlDateTime. Musi to być między 1.01.1753 00:00:00 a 31.12.9999 o 23:59:59 SqlDateTime przepełnienie. Musi być między 1.01.1753 a 00:00:00 Wojną 31.12.9999 do 23:59:59 Powód przy stosowaniu C# wstaw lub zaktualizuj bazę danych, słowo datetime]
Błąd - przepełnienie SqlDateTime. Musi to być między 1.01.1753 a 31.12.9999 o 23:59:59 Przepełnienie SqlDateTime. Musi to być między 1.01.1753 a 31.12.9999 o 23:59:59
Przyczyna
Podczas używania C# wstaw lub aktualizuj bazę danych, wartość pola datetime jest domyślnie null. Wstawienie C# 0001-01-01 powoduje przepełnienie typu datetime w SQL Server.
Zakres typów DateTime w C#
DateTime.MinValue = 1/1/0001 00:00 00:00 DateTime.MaxValue = 23:59:59.9999999, 31 grudnia 9999, dokładnie jeden 100-nanosekundowy tik przed 00:00:00, 1 stycznia 10000 Zakres typów dat-czas w SQL Server
między 1.01.1753 o 00:00:00 a 31.12.9999 o 23:59:59
Po przeczytaniu tego artykułu chyba coś zrozumiałem, powinna istnieć właściwość, która jest pusta, NHibernate automatycznie ustawia wartość domyślną, myślę, że powinno to wyglądać tak????
Następnie, po przypisaniu atrybutu UpdateTime, który nie został pierwotnie przydzielony,Stwierdzono, że nie było błędu, a następnie wstawił tabelę danych,
Jednak moje pole może być puste, co powinienem zrobić???
Znajdź właściwość UpdateTime pod klasą DateTime i ustaw ją na DateTime? To znaczy, pozwolić na pustkę. (W mapowanym XML jest najlepsze, również ustawione na not-null="false", jak następuje:)
Na koniec, sukces, zrób zrzut ekranu bazy danych!
|