generelの方法でSQLDateTimeオーバーフロー例外を処理することが可能かどうかは疑問です.751年1月1日より前の日付のデータベースを照会しようとするたびに、例外が発生することはありません。代わりに範囲外の日付をSQLの最小DateTimeに変換するだけです。Nhibernateにデータベースを照会する際に "SQLDateTime overflow" - 例外を防ぐことは可能ですか?
データベースを照会するときにのみ作業したい - 挿入するときではない。間違った日付を挿入しようとすると、例外が発生することはありません。しかし、クエリを実行すると、時間が最小時間に変換されるのが論理的に正しいでしょう。これはゼロの結果を返すためです。
私はこのようなものを想像しますが、それをどこに置くか知らない:
override DateTime ParseDateTime(DateTime date)
{
var minDate = System.Data.SqlTypes.SqlDateTime.MinValue.Value;
if (date < minDate)
return minDate;
else
return date;
}