私は最初にasp.netmvcアプリケーションでEFコードを使用しています。これが私のコードです:
Request.RequestDate = DateTime.Now;
RequestDateのタイプは、データベースの日時です。これは、上記のコードを使用したときに発生したエラーです!:
datetime2データ型をdatetimeデータ型に変換すると、値が範囲外になりました。
私を助けてください。ありがとう。
私は最初にasp.netmvcアプリケーションでEFコードを使用しています。これが私のコードです:
Request.RequestDate = DateTime.Now;
RequestDateのタイプは、データベースの日時です。これは、上記のコードを使用したときに発生したエラーです!:
datetime2データ型をdatetimeデータ型に変換すると、値が範囲外になりました。
私を助けてください。ありがとう。
編集:
DbContextとSetInitializerを使用してdatetime2の範囲外の変換エラーを修正するにはどうすればよいですか?
問題は、SQL日時列に収まらない値を保存しようとしていることです。ここでの答えgivinは、変換が失敗するのを防ぎます。
または、データベースで列をdatetime2タイプに変更します。彼らが最初にコーディングする理由がdatetime2ではなくdatetime列を生成している理由が正確にはわかりません
これは、SQLでDatetime列をdatetime2に明示的にマップする例です。
私の側では、日時がnull許容ではなく、状況によってはフィールドがコンストラクターで初期化されなかったためです。フィールドをnull許容として設定することでこれを解決しました
public DateTime? MyDate { get; set; }
別の解決策は、コンストラクターのフィールドを何があっても初期化することです。