Мэтт, скорее всего, на правильном пути. Вы определили значение по умолчанию для своего столбца, однако оно вступит в силу только в том случае, если вы действительно вставите что-то в свою таблицу в базе данных.
Когда вы проводите модульный тест, как вы говорите, вы, скорее всего, инициализируете переменную DateTime чем-то (или нет - тогда это будет DateTime.MinValue, то есть 01.010001), а затем вы отправляете это SQL Server, и это значение находится за пределами допустимого диапазона для DATETIME на SQL Server (как ясно указано в ошибке).
Итак, вам нужно добавить строку в свой модульный тест .NET, чтобы инициализировать переменную DateTime в «DateTime.Today»:
DateTime myDateTime = DateTime.Today
и затем вставьте это в SQL Server.
ИЛИ: вы можете изменить оператор SQL INSERT, чтобы он не вставлял значение для этого столбца - он выглядит прямо сейчас, он это делает (и пытается вставить эту - для SQL Server - недопустимую дату в таблицу ). Если вы не укажете этот столбец в INSERT, то по умолчанию в столбце будет введено значение getdate()
, и в столбец будет вставлена сегодняшняя дата.
Марк