1

我正在尝试使用一些基本的日期/时间操作来限制我的NHibernate查询。更具体地说,我想执行以下语句(伪 SQL):

select * from article where created_on + lifespan >= sysdate

和:

  • created_on映射到类型的属性DateTime
  • lifespan映射到类型的属性TimeSpan
  • sysdate是当前日期/时间(数据库服务器或应用程序主机的,我不在乎)

有没有使用Criteria-APIHQL的内置方法?

return session
  .CreateCriteria<Article>()
  .Add( ? )
  .List<Article>();
4

2 回答 2

1

由于查询是由服务器执行的,因此它需要支持您想要执行的操作。

如果是这样,您需要继承相应的 Dialect 并在其构造函数中注册相应的函数。

于 2010-05-27T21:06:58.630 回答
1
create view activearticle as 
    select * from article 
    where created_on + lifespan >= sysdate
于 2010-06-12T17:03:28.270 回答