我开始接触NHibernate了。我正在尝试执行一个查询,从表中选择所有记录,但有一个排除过滤器ID列表,例如。给我所有的产品,除了这些具有这些ID值的产品。
通常在直接T-SQL中,我会将要排除的ID传递给NOT IN子句,如此。
SELECT *
FROM Products
WHERE ProductId NOT IN (1,5,9,23,45)
如何使用ICriteria或HQL(但最好是ICriteria)在NHibernate中执行此操作?
答案 0 :(得分:23)
尝试
.Add(Expression.Not(Expression.In("ProductID", new int[] { 1, 5, 9, 23, 45 })))