Мат най-вероятно е на прав път. Вие сте дефинирали стойност по подразбиране за вашата колона - това обаче ще влезе в сила само ако наистина вмъкнете нещо във вашата таблица в базата данни.
Когато правите единичен тест, както казвате, най-вероятно инициализирате променливата DateTime с нещо (или не - тогава ще бъде DateTime.MinValue, което е 01/01/0001) и след това изпращате това на SQL Server и тази стойност е извън валидния диапазон за DATETIME на SQL Server (както грешката ясно посочва).
Така че това, което трябва да направите, е да добавите ред към вашия .NET единицен тест, за да инициализирате променливата DateTime на „DateTime.Today“:
DateTime myDateTime = DateTime.Today
и след това го вмъкнете в SQL Server.
ИЛИ:можете да промените оператора си SQL INSERT, така че да не вмъква стойност за тази колона - изглежда, че в момента прави това (и се опитва да вмъкне това - за SQL Server - невалидна дата в таблицата). Ако не посочите тази колона във вашия INSERT, тогава колоната по подразбиране е getdate()
ще започне и ще вмъкне днешната дата в колоната.
Марк