在NHibernate QueryOver语法中使用当前_时间戳

在NHibernate QueryOver语法中使用当前_时间戳,nhibernate,datetime,timestamp,queryover,Nhibernate,Datetime,Timestamp,Queryover,除了SQL和HQL之外,是否可以在任何其他nhibernate查询方法中请求使用当前_时间戳 为了解决这个问题,我正在考虑使用DbDateTime的某种类型的IUserType类,但不知道如何实现它 有人有什么想法吗 我想要的示例: session.QueryOver<User>() .Where(u => u.CreatedOn > current_timestamp) .List(); session.QueryOver()

除了SQL和HQL之外,是否可以在任何其他nhibernate查询方法中请求使用当前_时间戳

为了解决这个问题,我正在考虑使用DbDateTime的某种类型的IUserType类,但不知道如何实现它

有人有什么想法吗

我想要的示例:

  session.QueryOver<User>()
         .Where(u => u.CreatedOn > current_timestamp)
         .List();
session.QueryOver()
.Where(u=>u.CreatedOn>current_时间戳)
.List();

这可能不适用于您的情况,但这可能有效

session.QueryOver<User>()
     .Where(u => u.CreatedOn > DateTime.Now)
     .List();
session.QueryOver()
.Where(u=>u.CreatedOn>DateTime.Now)
.List();

您可以在QueryOver API中使用IProjection和SQL函数,如下所示:

var result = session.QueryOver<User>()
             .Where(Restrictions.GtProperty(
                Projections.Property<User>(u => u.CreatedOn), 
                Projections.SqlFunction("current_timestamp", new NHibernate.Type.TimestampType())))
             .List();

我需要当前的时间戳。否则我就用DateTime。现在,正确。
SELECT this_.... FROM [User] this_ WHERE this_.CreatedOn > sysdatetime() ;