c# - NHibernate QueryOver - 日期比较表达式

标签 c# nhibernate

使用 NHibernate QueryOver 表达式,如何与局部变量进行比较?

例如:

[数据库表]

1 - 01/01/2011
2 - 02/20/2011
3 - 03/09/2011

我希望查询看起来像:

SELECT * FROM Table WHERE '03/01/2011' >= DateColumn

其中“03/01/2011”是我传入的变量。

我试过:

DateTime myDate = new DateTime(2011, 3, 1);
QueryOver.Of<Table>(() => tAlias).Where(() => myDate >= tAlias.DateColumn)

但是,这会引发以下异常:

Could not find property myDate

关于如何使用 QueryOver 表达式执行此操作的任何想法?

最佳答案

我从来没有尝试过将 Where 与无参数表达式一起使用,如果您尝试这样的操作会怎样(如果我正在执行 QueryOver[Table],我会使用什么,不确定是否与 .Of[Table 有区别])?

.Where(r => r.DateColumn <= myDate)

我见过的所有示例也在表达式的右侧使用常量,不确定是否有任何内容(编辑:查看上面 Phill 的评论,NHibernate 似乎确实如此期望左侧的列和右侧的值)。

关于c# - NHibernate QueryOver - 日期比较表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251980/

相关文章:

c# - Automapper 通过继承映射基类

nhibernate 延迟加载选项

NHibernate 多对多 - 如何从连接表中检索属性并将其与 child 关联?

c# - 无法将类型为 'NHibernate.Hql.Ast.HqlBitwiseAnd' 的对象转换为类型 'NHibernate.Hql.Ast.HqlBooleanExpression'

c# - 将 QBasic CHR$(13)+CHR$(10) 转换为 C#

c# - 如何使用 colorstream 在 WPF kinect 应用程序中流式传输图像上的 RGB 数据?

c# - 在 WebApi 2 中检测到属性的自引用循环

c# - 使用 nHibernate QueryOver 加入一个子集

NHibernate 更改审计和组件

c# - 以编程方式查找对象使用的内存