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

È stato utile?

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
scroll top