C# NHiberate查询中的基本日期/时间操作
我试图用一些基本的日期/时间操作来限制我的NHibernate查询。更具体地说,我想执行以下语句(伪SQL): 与:C# NHiberate查询中的基本日期/时间操作,c#,nhibernate,date,hql,criteria-api,C#,Nhibernate,Date,Hql,Criteria Api,我试图用一些基本的日期/时间操作来限制我的NHibernate查询。更具体地说,我想执行以下语句(伪SQL): 与: 在上创建的映射到类型为DateTime的属性 lifespan映射到类型为TimeSpan的属性 sysdate是当前日期/时间(数据库服务器或应用程序主机的,我不在乎) 通过使用标准API或HQL是否有任何内置方法可以做到这一点 return session .CreateCriteria<Article>() .Add( ? ) .List<
- 在上创建的
映射到类型为
的属性DateTime
映射到类型为lifespan
的属性TimeSpan
是当前日期/时间(数据库服务器或应用程序主机的,我不在乎)sysdate
return session
.CreateCriteria<Article>()
.Add( ? )
.List<Article>();
返回会话
.CreateCriteria()
.Add(?)
.List();
由于查询是由服务器执行的,因此它需要支持您想要执行的操作
如果是这样,您需要继承相应的方言并在其构造函数中注册相应的函数。+1非常好的可重用方案,强调了NHibernate的可扩展性。我想它尽可能接近我想要的。非常感谢。
create view activearticle as
select * from article
where created_on + lifespan >= sysdate
create view activearticle as
select * from article
where created_on + lifespan >= sysdate