マットはおそらく正しい方向に進んでいます。列のデフォルト値を定義しましたが、これはデータベースのテーブルに実際に何かを挿入した場合にのみ有効になります。
あなたが言うように、ユニットテストを行うとき、あなたはおそらくDateTime変数を何かに初期化し(またはそうではない-それはDateTime.MinValue、つまり01/01/0001になるでしょう)そしてそれをSQLServerに送信しますこの値は、SQL ServerのDATETIMEの有効範囲外です(エラーに明確に示されています)。
したがって、実行する必要があるのは、.NET単体テストに行を追加して、DateTime変数を「DateTime.Today」に初期化することです。
DateTime myDateTime = DateTime.Today
次に、それをSQLServerに挿入します。
または:SQL INSERTステートメントを変更して、その列の値を挿入しないようにすることができます-今のように見えますが、そうします(そして、SQL Serverの場合-無効な日付をテーブルに挿入しようとします)。 INSERTでその列を指定しない場合、列のデフォルトはgetdate()
です。 キックインして、今日の日付を列に挿入します。
マーク