NHibernate查询,按时间戳字段过滤
我有表格与Timestmap类型的版本控制字段。 现在我正在尝试通过此字段进行搜索查询,但是当我以下一种方式传递参数时:
query.SetParameter("TimeStamp", lastTick, NHibernateUtil.Timestamp);
它将它作为DateTime传递给sql查询。 还试过NHibernateUtil.Binary,但是nhibernate将它作为varbinary传递。
NHibernate TimestampType指定:
这几乎与DateTime完全相同,只是它可以在版本列中使用,将其存储到数据库支持的精度,并且如果值为null,则默认为DateTime.Now的值。
此类型不适用于MS SQL类型TIMESTAMP。 实际上,不推荐使用该列类型:
不推荐使用时间戳语法。 此function将在Microsoft SQL Server的未来版本中删除。 避免在新的开发工作中使用此function,并计划修改当前使用此function的应用程序。
rowversion(Transact-SQL)
您应该使用NHibernateUtil.Binary
或NHibernateUtil.BinaryBlob
。