3

我可以使用 HNibernate Criteria 创建这个 sql 查询吗:

选择 * from Table1 where Column1 > (Column2 + Column3)

所有 3 列都是 int32。谢谢

4

2 回答 2

4

好吧,在阅读了第 n 次关于这个确切问题的问题后,我决定编写一个不包括编写 SQL 的实现。

您可以在http://savale.blogspot.com/2011/04/nhibernate-and-missing.html查看实现,您可以使用它编写:

criteria.Add(
   Restrictions
     .GeProperty("Prop1",
                 new ArithmeticOperatorProjection("+",
                                 NHibernateUtil.Int32,
                                 Projections.Property("Prop2"), Projections.Property("Prop3")
                                                  )
                )
);
于 2011-04-28T15:31:00.900 回答
1

您可以使用Expression并编写一些 SQL,这对我有用。

criteria.Add(Expression.Sql("Column1 > (Column2 + Column3)"));
于 2010-12-08T21:58:49.027 回答