2009-04-03 1 views
0

Ich brauche eine Abfrage in NHibernate zu erstellen, die für ein Produkt aus zwei Spalten suchen würde, wie folgt aus:, wie zu tun, wo a * b = param1 in NHibernate

WHERE a * b = param1

verlassen Effizienz beiseite (angenommen, ich habe kleine Zeilen oder tatsächliche Abfrage wird zusätzliche Bedingungen haben, die einige Indizes ausnutzen) wie mache ich es in NHibernate? Vorzugsweise sollte die Lösung mit DetachedCriteria arbeiten. Ich weiß, dass ich natives SQL mit Expression.Sql() verwenden könnte, aber gibt es andere, bessere, Weise? Kann ich das in HQL machen?

Antwort

1

Sie können dies mit HQL oder Expression.Sql tun, wie Sie erwähnt haben. HQL unterstützt viele verschiedene SQL-Ausdrücke. siehe this section.

Zum Beispiel:

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