如何使用NHibernate的ICriteria API编写以下查询:
DetachedCriteria criteria = DetachedCriteria.For<Order>()
.Add(Restrictions.Eq("Property1 + Property2", confirmation.Ammount));
我需要的是将表达式(Property1 + Property2)与给定值(confirmation.Ammount)进行比较。
我正在使用NHibernate 2.0(目前我无法切换到更新的版本)。
由于
答案 0 :(得分:2)
选项1
.Add(Expression.Sql("(Property1 + Property2) = ?", confirmation.Ammount, NHibernateUtil.Int32));
选项2
编写自己的投影see here
.Add(Restrictions.Eq(new ArithmeticOperatorProjection(
"+", NHibernateUtil.Int32, Projections.Property("Property1"), Projections.Property("Property2")
)
)