Restrizione ICriteria su Expression
-
26-10-2019 - |
Domanda
Come dovrebbe essere scritta la seguente query con ICriteria API del NHibernate:
DetachedCriteria criteria = DetachedCriteria.For<Order>()
.Add(Restrictions.Eq("Property1 + Property2", confirmation.Ammount));
Che cosa ho bisogno è quello di confrontare l'espressione (Property1 + Property2) al valore dato (confirmation.Ammount).
Sto usando NHibernate 2.0 (non riesco a passare alla versione più recente per il momento).
Grazie
Soluzione
opzione 1
.Add(Expression.Sql("(Property1 + Property2) = ?", confirmation.Ammount, NHibernateUtil.Int32));
opzione 2
scrivere il proprio proiezione vedere qui
.Add(Restrictions.Eq(new ArithmeticOperatorProjection(
"+", NHibernateUtil.Int32, Projections.Property("Property1"), Projections.Property("Property2")
)
)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow