2009-04-03 14 views
0

Je dois créer une requête dans NHibernate qui recherche un produit de deux colonnes, comme ceci:comment faire WHERE a * b = param1 dans NHibernate

WHERE a * b = param1

laissant l'efficacité mise à part (supposons que j'ai de petites lignes ou que la requête réelle aura des conditions supplémentaires qui vont exploiter certains index) comment faire dans NHibernate? De préférence, la solution devrait fonctionner avec DetachedCriteria. Je sais que je pourrais utiliser SQL natif avec Expression.Sql() mais y a-t-il un autre, mieux, moyen? Puis-je le faire en HQL?

Répondre

1

Vous pouvez le faire avec HQL ou Expression.Sql comme vous l'avez mentionné. HQL supporte de nombreuses expressions SQL différentes; voir this section.

Par exemple:

session.CreateQuery("from test t where t.a * t.b = 4").List(); 
Questions connexes