我想知道是否有可能以一种方式处理SQLDateTime溢出异常,因此每次我尝试在数据库中查询171年1月1日之前的日期时都不会导致异常,而只是将超出范围的日期转换为SQL最小日期时间。
我只希望它在查询数据库时工作 - 而不是在插入时。在尝试插入错误的日期时,它很容易引发异常,因为这绝不会发生。但是在查询时,将时间转换为最小时间在逻辑上是正确的,因为这将返回零结果。
我想象这样的东西,但不知道该把它放在哪里:
override DateTime ParseDateTime(DateTime date)
{
var minDate = System.Data.SqlTypes.SqlDateTime.MinValue.Value;
if (date < minDate)
return minDate;
else
return date;
}
答案 0 :(得分:0)
我认为您可以使用自定义IUserType实现(示例 - http://lostechies.com/rayhouston/2008/03/23/mapping-strings-to-booleans-using-nhibernate-s-iusertype/)
来实现此目的