Переповнення SqlDateTime. Має бути між 1/1/1753 12:00:00 та 31.12.999 11
При вставці даних у фреймворк NHibernate orm було зафіксовано вищезазначену помилку:
SqlDateTime overflow / SqlDateTime overflow [Резюме: Помилка - переповнення SqlDateTime. Це має бути між 1/01/1753 00:00 та 31.12.9999 23:59 SqlDateTime overflow. Має бути між 1/1/1753 00:00 Війна 31.12.9999 23:59:59 Причина При застосуванні C# вставити або оновити базу даних, слово про час дати]
Помилка — переповнення SqlDateTime. Має бути між 1/01/1753 та 12:00:00 та 31.12.9999 23:59:59 Переповнення SqlDateTime. Має бути між 1/01/1753 та 12:00:00 та 31.12.9999 23:59:59
Причина
При використанні C# вставки або оновлення бази даних значення поля datetime за замовчуванням є null. Вставка C# 0001-01-01 спричиняє переповнення типу datetime sql server.
Діапазон типів DateTime у C#
DateTime.MinValue = 1/1/0001 00:00:00 DateTime.MaxValue = 23:59:59.99999999, 31 грудня 9999, рівно один 100-наносекундний тик до 00:00:00, 1 січня 10000 Діапазон типів часу датування в SQL Server
між 1.01.1753 00:00 та 31.12.9999 23:59:59
Після прочитання цієї статті, я, мабуть, щось зрозумів: має бути якась властивість, яка порожня, NHibernate автоматично встановлює значення за замовчуванням, думаю, це має бути саме так????
Потім, після призначення атрибута UpdateTime, який спочатку не був призначений,виявив, що помилки не було, а потім вставив таблицю даних,
Однак моя сфера може бути порожньою, що мені робити???
Знайти властивість UpdateTime у класі DateTime і встановити її на DateTime? Тобто дозволити порожнечу. (У відображеному xml найкраще, також встановлено на not-null="false", як зазначено:)
Нарешті, успіх — зроби скріншот бази даних!
|