NHibernate查询,带有按时间戳筛选字段

本文关键字:时间戳 筛选 字段 查询 NHibernate | 更新日期: 2023-09-27 18:00:58

我有一个带有Timestmap类型的版本控制字段的表。现在我正试图通过这个字段进行查询,但当我以下一种方式传递参数时:

query.SetParameter("TimeStamp", lastTick, NHibernateUtil.Timestamp);

它将其作为DateTime传递给sql查询。也尝试了NHibernateUtil.Binary,但nhibernate将其作为varbinary传递。

NHibernate查询,带有按时间戳筛选字段

NHibernate TimestampType指定:

这与DateTime几乎完全相同,只是可以使用并将其存储到数据库支持的精度,并且将默认为DateTime的值。现在,如果该值为null。

此类型根本不适用于MS SQL类型TIMESTAMP。事实上,该列类型已被弃用:

时间戳语法已弃用。此功能将在未来版本的Microsoft SQL Server中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

rowversion(Transact-SQL(

您应该使用NHibernateUtil.BinaryNHibernateUtil.BinaryBlob