我需要在NHibernate中创建一个查询两列产品的查询,如下所示:
在哪里* b = param1
将效率放在一边(假设我有很少的行或实际查询将有额外的条件,将利用一些索引)我如何在NHibernate中做到这一点?优选地,该解决方案应该与DetachedCriteria一起使用。我知道我可以在Expression.Sql()中使用原生SQL,但还有其他更好的方法吗?我可以在HQL中执行此操作吗?
答案 0 :(得分:1)
如上所述,您可以使用HQL或Expression.Sql执行此操作。 HQL支持许多不同的SQL表达式;见this section。
例如:
session.CreateQuery("from test t where t.a * t.b = 4").List();