Matt is waarschijnlijk op de goede weg. U heeft een standaardwaarde voor uw kolom gedefinieerd - die wordt echter alleen van kracht als u daadwerkelijk iets in uw tabel in de database invoegt.
Wanneer u een eenheidstest doet, zoals u zegt, initialiseert u hoogstwaarschijnlijk de DateTime-variabele naar iets (of niet - dan is het DateTime.MinValue, dat is 01/01/0001) en dan stuurt u dat naar de SQL Server en deze waarde ligt buiten het geldige bereik voor een DATETIME op SQL Server (zoals de fout duidelijk aangeeft).
Dus wat u moet doen, is een regel toevoegen aan uw .NET-eenheidstest om de DateTime-variabele te initialiseren naar "DateTime.Today":
DateTime myDateTime = DateTime.Today
en voeg dat dan toe aan SQL Server.
OF:u kunt uw SQL INSERT-instructie zo wijzigen dat er geen waarde voor die kolom wordt ingevoegd - het ziet er nu naar uit dat het dat doet (en probeert die - voor SQL Server - ongeldige datum in de tabel in te voegen). Als u die kolom niet opgeeft in uw INSERT, dan is de standaardkolom getdate()
begint en voegt de datum van vandaag in de kolom in.
Marc