Nhibernate:限制为2列的总和

时间:2010-11-22 09:18:42

标签: nhibernate criteria restrictions

我可以使用HNibernate Criteria创建此sql查询:

从Table1中选择*,其中Column1> (Column2 + Column3)

所有3列都是int32。 感谢

2 个答案:

答案 0 :(得分: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")
                                                  )
                )
);

答案 1 :(得分:1)

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

criteria.Add(Expression.Sql("Column1 > (Column2 + Column3)"));