使用ISqlQuery传递DateTime2参数值

时间:2012-04-27 09:18:27

标签: nhibernate nhibernate-mapping sqldatetime isqlquery

我正在使用Nhibernate的ISqlQuery接口在数据库上触发SQL查询。以下是该方案。我的域模型有一个属性:

public virtual Datetime StartTime { get; set; }

数据库有一个StartTime类型的列DateTime2

我已将UserTypeConvention用于将代码的日期时间映射到DB的DateTime2,它运行正常。

但是当我尝试使用ISqlQuery进行查询时,我无法使用DateTime2类型为该查询设置参数。如果我使用ISqlQuery.SetDateTime,那么默认情况下它会映射到DB的Datetime类型并提供异常'SqlDateTime overflow必须介于1 1 1753 12 00 00 AM和12/31/9999 11:59:59 PM'。

我尝试使用ISqlQuery.SetParameter("propname",datetimevalue,Nhibernate.IType),但我找不到DateTime2的NHibernate.IType实现。

对此有何支持?

1 个答案:

答案 0 :(得分:3)

使用NHibernateUtil.DateTime2