小编典典

NHibernate查询与时间戳字段过滤

sql

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

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

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


阅读 150

收藏
2021-04-14

共1个答案

小编典典

NHibernate TimestampType指定:

该类型与DateTime几乎完全相同,但可以在version列中使用,将其存储到数据库支持的精度,并且默认为DateTime.Now值(如果该值为null)。

此类型根本不能与MS SQL类型TIMESTAMP一起使用。实际上,该列类型已被弃用:

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

行版本(Transact-SQL)

您应该使用NHibernateUtil.BinaryNHibernateUtil.BinaryBlob

2021-04-14