我有一堂课
public class Account {
public DateTime? StartDate {get;set;}
public DateTime? EndDate {get;set;}
public bool IsActive {get;set;}
}
IsActive 属性定义为公式
.Formula(" StartDate < GETDATE() and (EndDate is NULL or EndDate > GetDate())")
但是,当使用 QueryOver 查询 IsActive == true 的所有帐户时,我收到 NHibernate 无法执行 SQL 的错误。
NHibernate 生成的 SQL 有
...other criterias...
and this_.StartDate < GETDATE()
and (this_.EndDate is NULL
or this_.EndDate > GetDate()) = 1
如何正确定义公式。
公式是超越这样做的正确方法,还是有完全不同的方法来解决它
更新 :
- 有没有办法在不改变底层数据库的情况下做到这一点
谢谢