Reputation: 185
How should be written the following query with the NHibernate's ICriteria API:
DetachedCriteria criteria = DetachedCriteria.For<Order>()
.Add(Restrictions.Eq("Property1 + Property2", confirmation.Ammount));
What I need is to compare an expression (Property1 + Property2) to given value (confirmation.Ammount).
I'm using NHibernate 2.0 (I can't switch to newer version at the moment).
Thanks
Upvotes: 1
Views: 147
Reputation: 30813
option 1
.Add(Expression.Sql("(Property1 + Property2) = ?", confirmation.Ammount, NHibernateUtil.Int32));
option 2
writing your own Projection see here
.Add(Restrictions.Eq(new ArithmeticOperatorProjection(
"+", NHibernateUtil.Int32, Projections.Property("Property1"), Projections.Property("Property2")
)
)
Upvotes: 2