Если ваша модель имеет необнуляемое свойство типа DateTime, при публикации формы с пустым значением для этого свойства автоматически устанавливается значение DateTime.MinValue, которое находится в .net 01/01/0001 ( DateTime.MinValue на MSDN )
(В качестве примечания вы можете изменить это поведение, внедрив свой собственный IModelBinder
для DateTime, который может, например, выдать исключение проверки, если попытка получить значение равно нулю / пусто, а свойство не имеет значения NULL).
Если вы попытаетесь сохранить это значение (DateTime.MinValue
) в базе данных, вы получите ошибку преобразования, если поле базы данных имеет тип sql типа datetime, поскольку .net DateTime.MinValue меньше, чем SQL datetime minvalue (01/01/1753 ) и, следовательно, не может быть преобразовано в значение sql. ( Минутное время SQL date на MSDN )
Эта ошибка не будет возникать в более новых версиях MS SQL Server, которые имеют тип данных datetime2, который допускает значения от 01/01/0001 до 31/12/9999 ( SQL datetime2 в MSDN ) (если datetime2 конечно, для этого поля).