是否可以使Nhibernate防止“休眠”;SQLDateTime溢出“-查询数据库时发生异常
本文关键字:数据库 查询 溢出 异常 SQLDateTime Nhibernate 可以使 防止 休眠 是否 | 更新日期: 2023-09-27 18:28:16
我想知道是否可以用普通的方式处理SQLDateTime溢出异常,所以每次我试图查询数据库中1753年1月1日之前的日期时,都不会导致异常,而是将超出范围的日期转换为SQL最小DateTime。
我只想让它在查询数据库时工作,而不是在插入时。当试图插入错误的日期时,破例是很有意义的,因为这不应该发生。但在查询时,只将时间转换为最短时间在逻辑上是正确的,因为这将返回零结果。
我想象这样的东西,但不知道该放在哪里:
override DateTime ParseDateTime(DateTime date)
{
var minDate = System.Data.SqlTypes.SqlDateTime.MinValue.Value;
if (date < minDate)
return minDate;
else
return date;
}
我认为您可以通过自定义IUserType实现来实现这一点(示例-http://lostechies.com/rayhouston/2008/03/23/mapping-strings-to-booleans-using-nhibernate-s-iusertype/)